AES candidate from TecApro built on a key-as-program design: the user key derives a large internal key of per-round substitution and permutation tables, and the round function is a short fixed byte sequence driven entirely by those tables. 128-bit block, 128/192/256-bit keys, 8 rounds.
| Property | Value |
|---|---|
| Category | Block Ciphers |
| Sub-category | Block Cipher |
| Security status | Not classified |
| Complexity | Advanced |
| Inventor | Dianelos Georgoudis, Damian Leroux, Billy Simon Chaves |
| Year | 1998 |
| Origin | Not specified |
| Source | algorithms/block/frog.js |
| Parameter | Supported values |
|---|---|
| Key sizes | 16 bytes (128 bits) to 32 bytes (256 bits) in steps of 8 bytes |
| Block sizes | 16 bytes (128 bits) |
Status: not classified — treat as unverified.
| Issue | Description | Mitigation |
|---|---|---|
| Weak key classes and chosen-plaintext attacks | Wagner, Ferguson and Schneier found large weak-key classes and both chosen-plaintext and chosen-ciphertext attacks; FROG was not selected as an AES finalist. | Use AES or another vetted cipher. |
10 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — AES KAT ecb_vk.txt I=1 — 128-bit key, highest key bit set
| Field | Value |
|---|---|
key |
80000000000000000000000000000000 |
input |
00000000000000000000000000000000 |
expected |
6ccbd28a71cc30e2a79de52d532a1a1e |
Vector 2 — AES KAT ecb_vk.txt I=128 — 128-bit key, lowest key bit set
| Field | Value |
|---|---|
key |
00000000000000000000000000000001 |
input |
00000000000000000000000000000000 |
expected |
c478730c7e57d8d1852a7cebedf3434f |
Vector 3 — AES KAT ecb_vt.txt I=1 — 128-bit key, highest plaintext bit set
| Field | Value |
|---|---|
key |
00000000000000000000000000000000 |
input |
80000000000000000000000000000000 |
expected |
43af8869bde62dd0fc003153b30a7082 |
Vector 4 — AES KAT ecb_vt.txt I=128 — 128-bit key, lowest plaintext bit set
| Field | Value |
|---|---|
key |
00000000000000000000000000000000 |
input |
00000000000000000000000000000001 |
expected |
c75425e955ce24cdb02c7840f02261b4 |
Vector 5 — AES KAT ecb_vk.txt I=1 — 192-bit key
| Field | Value |
|---|---|
key |
800000000000000000000000000000000000000000000000 |
input |
00000000000000000000000000000000 |
expected |
0e77f45397c67000e2232bd098c77ed9 |
Vector 6 — AES KAT ecb_vk.txt I=192 — 192-bit key, lowest key bit set
| Field | Value |
|---|---|
key |
000000000000000000000000000000000000000000000001 |
input |
00000000000000000000000000000000 |
expected |
1c36d07eb28abdf95a54e99200b6e62a |
Vector 7 — AES KAT ecb_vt.txt I=1 — 192-bit key, highest plaintext bit set
| Field | Value |
|---|---|
key |
000000000000000000000000000000000000000000000000 |
input |
80000000000000000000000000000000 |
expected |
cecad44deb19b143fb6399c8a798253f |
Vector 8 — AES KAT ecb_vk.txt I=1 — 256-bit key
| Field | Value |
|---|---|
key |
8000000000000000000000000000000000000000000000000000000000000000 |
input |
00000000000000000000000000000000 |
expected |
b3b4c6422b18c6b989bc341e92a400e1 |
Vector 9 — AES KAT ecb_vk.txt I=256 — 256-bit key, lowest key bit set
| Field | Value |
|---|---|
key |
0000000000000000000000000000000000000000000000000000000000000001 |
input |
00000000000000000000000000000000 |
expected |
c0386da084bcd68241e4f6709c7bdc2e |
Vector 10 — AES KAT ecb_vt.txt I=1 — 256-bit key, highest plaintext bit set
| Field | Value |
|---|---|
key |
0000000000000000000000000000000000000000000000000000000000000000 |
input |
80000000000000000000000000000000 |
expected |
8b26d3a473868cba4f2221bc88de1da5 |