How to implement the AES-512 algorithm?

Is there javascript avaialable that implements the AES-512 algorithm (e.g. Encyption, Decryption)? I found most javascripts embedded in AES-128, AES-192, AES-256.

+3
source share
9 answers

The Rijdael cipher comes in 128, 160, 192, 224 and 256-bit versions. Options 128, 192 and 256 bits have been selected for Advanced Encryption Standard. 128-bit symmetric keys are considered about as powerful as 1024-bit RSA keys, and 256-bit symmetric keys are considered about as strong as 2048-bit RSA keys. In practice, no one uses 192-bit AES, because they are either concerned about performance and / or export controls, and use 128-bit, or paranoid, and use 256-bit.

There is no single 512-bit symmetric encryption key in public use. The AES-based whirlpool hash function returns a 512-bit digest, but this is not the same as a 512-bit AES cipher.

+21
source

, , 512- AES.

wikipedia:

(AES) , . , AES-128, AES-192 AES-256, , Rijndael.

+8

, AES-256 512 ( 256 + 1 ) - /, " ",.

, - "" AES-512 , . , AES 128 , AES-512, , 128 ( , ), , , NOX CHANGES MixColumns ShiftRows .

AES 512 AES, N_k>8. , AES FIPS-197 , . , , N_k=16 (512 bit keys=16*'32 bit words'). ( 14) N_r={10,12,14} N_k={4,6,8} . N_r=N_k+6. N_r=22, N_k=16... N_r=22 N_k=16 , 512 ( 5.2) ...

Rcon [i], x (mod x^8+x^4+x^3+x+1) N_k, 51 . x^51=(1 mod x^8+x^4+x^3+x+1)... Rcon[i], ,

i=(N_r+1)*N_b/N_k  ; ((N_r+1)*N_b is the total size (in 4 octet words) of the key schedule)
i=(N_k+6+1)*N_b/N_k
i=(N_k+7)*4/N_k
i=4+28/N_k ; (correct... ignoring rounding issues (and probably an off by one error due to laziness))

, Rcon ...

+3

, AES256 () AES512.

Comsider: 2 ^ 256 + 2 > 256 < 2 ^ 512

, , 2 256- , , 512- .

( , )

+2

, A.E.S, , , , . , 512 16 , , . 1024 , .

+1

, 8 64- , 64- , .

/ , 64- * int64_t __lrotl (int64_t, int) * * int64_t __lrotr (int64_t, int) *. - void mixcolumns() void invmixcolumns(), % 4 % 8, , , , .

0

AES - , . , Rijndael.

256 .

, 256 .

RSA . , , . Rijndael, , . 256- AES, , rsa 2048 .

, , -, . . - .

0

AES-512, , AES-256 , 256- .

- , Javascript, . , - , , , 256- "512-" .

, , 512- . 256- , , 256- ; , / , , .

-1

, .

For example, by encrypting with AES-256 twice, you should have 256 bits working at 2, so you should become 65536 encryption bits .;) I doubt that you liked the result of the execution. However, 128-bit encryption will be 16.384 bit encryption. You should use only one key for one encryption, and if you want to encrypt twice, you should have two keys for two different types of encryption, and I can promise you that it will be very difficult for someone to break through such encryption .;)

-8
source

Source: https://habr.com/ru/post/1716089/


All Articles