Моя первая цель — внедрить AES-GCM в PowerShell 5.1, поскольку не существует реализации, не использующей внешние библиотеки dll.
Согласно схеме шифрования GCM:
блок E_k должен соответствовать 128-битному блоку, а ввод зашифрован AES с определенным ключом K.
Если вначале я хочу сосредоточиться только на блоке E_k и хочу реализовать непосредственно там алгоритм AES, правильно ли будет сказать, что в этом случае не применяется режим блочного шифрования, потому что я фокусируюсь только на самом блоке?
Еще одно сомнение: в случае GCM, если каждый E_k принимает в качестве входных данных 12 байтов IV + counter_value и каждый блок E_k имеет размер 16 байтов (128 бит), IV дополняется 0 (или другим предопределенным значением) для следующих 4 байты, чтобы достичь размера 16 байт? Итак, для каждого блока у нас есть, например, [БЛОК 0] 7808B1A23DDC2F9D90A4BCED00000000; [БЛОК 1] 7808B1A23DDC2F9D90A4BCED00000001; [БЛОК 2] 7808B1A23DDC2F9D90A4BCED00000002; и так далее?
Может ли это отвечать применяться также в моем случае так:
- можно ли применить «сырой» AES, используя ECB для одного блока E_k?
- заполнение открытого текста (в нашем случае 12-байтового IV) до 16 байтов с 4 байтами нулей?
Надеюсь информация ясна.
Спасибо