Пакет src.Rsa

Функции работы RSA. Подробнее...


Функции

def rsaKeys
 Генерация ключей.
def encrypt1
 Функция шифрования (1 блока).
def decrypt1
 Функция расшифровки (1 блока).
def encrypt
 Функция шифрования.
def decrypt
 Функция расшифровки.
def test
 Тестирование системы RSA.
def testWithZip
 Тестирование системы RSA (с жатием).


Подробное описание

Функции работы RSA.

все необходимое для построение системы шифрации дешифрации RSA здесь сильно испоьзуются функции из src.numericUtil и src.stringUtil


Функции

def src.Rsa.decrypt (   encryptList,
  secretKey 
)

Функция расшифровки.

Расшифровываем каждый болк из encryptList; перегоняем в строку, полученные строки конкатенируем.

Аргументы:
secretKey двойка чисел (d, n) играет роль "секретного ключа RSA" и держится в секрете.
encryptList список зашифрованных блоков

def src.Rsa.decrypt1 (   message,
  secretKey 
)

Функция расшифровки (1 блока).

Аргументы:
secretKey двойка чисел (d, n) играет роль "секретного ключа RSA" и держится в секрете.
message^d mod n

def src.Rsa.encrypt (   text,
  publicKey,
  blockSize = 128 
)

Функция шифрования.

Переводим строку text в список блоков. Каддый элемент списка перегоняем в long(), шифруем и добавляем в список зашифрованных блоков

Аргументы:
text тексткоторый хотим зашифровать
publicKey двойка (кортеж) чисел (e, n) публикуется в качестве "открытого ключа RSA"
blockSize размер блока шифрования

def src.Rsa.encrypt1 (   message,
  publicKey 
)

Функция шифрования (1 блока).

Аргументы:
publicKey двойка (кортеж) чисел (e, n) публикуется в качестве "открытого ключа RSA"
message^e mod (n)

def src.Rsa.rsaKeys (   size = 1024  ) 

Генерация ключей.

Создает открытый и закрытый ключи возвращает их ввиде словаря

keysDict = {
'block' : size/4 - 1,
'public': publicKey,
'secret' : secretKey
}

size/4 - 1 -- размер текстового блока в символах(!) величина взята не с потолка, а вычисляется это следует из sizeInBits = log2(n), где n = p*q

def src.Rsa.test (   inFileName = 'input.txt',
  outFileName = 'code.txt',
  checkFileName = 'obtained.txt' 
)

Тестирование системы RSA.

Аргументы:
infileName имя файла который мы хотим зашифровать
outfileName имя файла c шифром
checkfileName имя файла с рассшифровкой
infile --> RSA-TEST
RSA-TEST --> outfile (шифр)
RSA-TEST --> checkfile (расшифровка)

def src.Rsa.testWithZip (   inFileName = 'input.txt',
  outFileName = 'code.txt',
  checkFileName = 'obtained.txt' 
)

Тестирование системы RSA (с жатием).

Аргументы:
infileName имя файла который мы хотим зашифровать
outfileName имя файла c шифром
checkfileName имя файла с рассшифровкой
infile --> RSA-TEST
RSA-TEST --> outfile (шифр)
RSA-TEST --> checkfile (расшифровка)


Документация по FW_4. Последние изменения: Sun May 17 17:18:54 2009. Создано системой  doxygen 1.5.5