【发布时间】:2013-06-02 01:06:03
【问题描述】:
我正在尝试使用带有 16 字节密钥的 16 字节的 Racket Crypto library 到 encrypt 块。我期望有一个 16 字节的输出块,但我得到一个 32 字节的输出块。 一个 15 字节的输入块给出一个 16 位的输出。
#lang racket
(require (planet vyzo/crypto))
(bytes-length (encrypt cipher:aes-128-ecb
(string->bytes/latin-1 "0123456789ABCDEF") ; 16-byte key
(make-bytes 16) ; IV
(string->bytes/latin-1 "0123456789ABCDEF"))) ; 16-byte data
; -> 32
(bytes-length (encrypt cipher:aes-128-ecb
(string->bytes/latin-1 "0123456789ABCDEF") ; 16-byte key
(make-bytes 16)
(string->bytes/latin-1 "0123456789ABCDE"))) ; 15-byte data
; -> 16
我是不是哪里错了?这是因为填充吗?
注意:我知道 ECB 模式的问题,我的目标是实现 CBC 模式。
【问题讨论】:
标签: encryption cryptography aes racket