|
#1
|
||||
|
||||
AES-256
Всем привет!!!
Наверное каждый из вас, рано или поздно, занимался шифрованием на Delphi, дак вот, многие слышали про шифровальный алгритм AES-256. Этот алгоритм считается очень стойким и плохо поддающийся крипто-анализу. ------------- Я бы хотел узнать ваши отзывы о данном алгоритме и узнать использовал ли кто нибудь его. Если кто-то заинтересовался, то так же могу оставить исходник, т.к исходников в интернете на данную тему очень мало. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 17.06.2008 в 06:24. |
#2
|
||||
|
||||
Оставляю отзыв
Данный алгоритм шифрования при длине ключа 256 бит по стойкости приравнивается к алгоритму RSA с длиной ключа 1024 бита. Не использовал, поскольку не было реализации на Делфи. При ковыряниях в других программах обнаружил, что использует его такие протекторы как Armadillo и ASProtect. Не поддается разложению (в отличии от RSA, т.е. в RSA можно сократить количество переборов зная Public Exponent и Public Module). Да, он еще и быстрее работает. Был бы признателен за исходник. Хорошо написанная программа не требует документации ICQ 9-184-668. |
#3
|
||||
|
||||
Простите, сегодня не получится опубликовать, сервер встал. Опубликую при первой же возможности.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#4
|
||||
|
||||
Качаем здесь
http://depositfiles.com/files/6057929 http://depositfiles.com/files/6058023 Код:
const AESMaxRounds = 14; const AES_Err_Invalid_Key_Size = -1; {Key size <> 128, 192, or 256 Bits} AES_Err_Invalid_Mode = -2; {Encr/Decr with Init for Decr/Encr} AES_Err_Invalid_Length = -3; {No full block for cipher stealing} AES_Err_Data_After_Short_Block = -4; {Short block must be last} AES_Err_MultipleIncProcs = -5; {More than one IncProc Setting } AES_Err_NIL_Pointer = -6; {nil pointer to block with nonzero length} type TAESBlock = packed array[0..15] of byte; PAESBlock = ^TAESBlock; TKeyArray = packed array[0..AESMaxRounds] of TAESBlock; TIncProc = procedure(var CTR: TAESBlock); {user supplied IncCTR proc} {$ifdef DLL} stdcall; {$endif} TAESContext = packed record RK : TKeyArray; {Key (encr. or decr.) } IV : TAESBlock; {IV or CTR } buf : TAESBlock; {Work buffer } bLen : word; {Bytes used in buf } Rounds : word; {Number of rounds } KeyBits : word; {Number of bits in key } Decrypt : byte; {<>0 if decrypting key } Flag : byte; {Bit 1: Short block } IncProc : TIncProc; {Increment proc CTR-Mode} end; const AESBLKSIZE = sizeof(TAESBlock); — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |