Метод шифрования RSA не работает с большими числами - VB

Узнай цену своей работы

Формулировка задачи:

Реализую метод шифрования RSA. С небольшими числами работает все нормально, а вот с большими это беда. Подскажите способ, или может библиотеку. Заранее спасибо.

Решение задачи: «Метод шифрования RSA не работает с большими числами»

textual
Листинг программы
Option Explicit
'
'
'     ©  FelixMacintosh
'
'
Private Sub Command1_Click()
    Dim s$
    s = "Пример шифрования данных"
    Print s
    Print "*****Шифруем********"
    s = Mixer(s, True)
    Print s
    Print "*****Дешифруем********"
    s = Mixer(s, False)
    Print s
End Sub
 
 
 
Public Function Mixer$(Text$, Action As Boolean, Optional ByVal Start& = 1, Optional ByVal Dln&, Optional _
ByVal Cyk& = 1)
    'Перемешивает текст с наращиванием длины реверса используя простые числа
    'Arg:  Текст // Акция (False = Обратное действие) // Старт // Длина // Число циклов
    Dim l&(), f&
    If Start Then Else Start = 1
    If Dln Then Else Dln = Len(Text) - Start + 1
    l = ProstChisla(Dln)
    Mixer = Text$
    If Action Then
        For Cyk = Cyk To 1 Step -1
            For f = 1 To UBound(l)
                Mid(Mixer, Start, l(f)) = StrReverse(Mid(Mixer, Start, l(f)))
            Next
        Next
    Else
        For Cyk = Cyk To 1 Step -1
            For f = UBound(l) To 1 Step -1
                Mid(Mixer, Start, l(f)) = StrReverse(Mid(Mixer, Start, l(f)))
            Next
        Next
    End If
    
End Function
 
Public Function ProstChisla(Max&) As Long()
    'Возврат списка простых чисел
    Dim i&, f&, d&
    ReDim b(Max) As Byte
    ReDim PCh&(Max \ 2)
    PCh(0) = 1
    PCh(1) = 2
    i = 1
    d = 1
    Do
      For f = PCh(i) To Max Step PCh(i) 'вычеркиваем кратные последнему простому
        b(f) = 1
      Next f
      
      For f = PCh(i) + d To Max Step 2 'ищем следующее простое число
        If b(f) = 0 Then i = i + 1: PCh(i) = f: Exit For
      Next f
      d = 2
    Loop Until f > Max
    ReDim Preserve PCh(i)
    ProstChisla = PCh
End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы