Ruby 我可以用LibNade进行AES-128-ECB加密吗?

Ruby 我可以用LibNade进行AES-128-ECB加密吗?,ruby,aes,libsodium,Ruby,Aes,Libsodium,我需要使用AES-128-ECB加密一个数据块,并希望使用LibNasdaq和Ruby进行加密。我已经使用OpenSSL API在Ruby中原型化了一个解决方案,如下所示: aes = OpenSSL::Cipher::Cipher.new("AES-128-ECB") aes.encrypt aes.key = key aes.update(data) + aes.final 这是可行的,但我需要libnaid的其他特性,所以我想改用它,摆脱对OpenSSL的依赖。不幸的是,我没有看到EC

我需要使用AES-128-ECB加密一个数据块,并希望使用LibNasdaq和Ruby进行加密。我已经使用OpenSSL API在Ruby中原型化了一个解决方案,如下所示:

aes = OpenSSL::Cipher::Cipher.new("AES-128-ECB")
aes.encrypt
aes.key = key
aes.update(data) + aes.final 
这是可行的,但我需要libnaid的其他特性,所以我想改用它,摆脱对OpenSSL的依赖。不幸的是,我没有看到ECB模式的API。我也在使用ruby包装器RbNaCl,但我甚至看不到任何使用基本libNasdaAPI的方法。我确实看到了一些


是否可以使用LibNade加密AES-128-ECB

LIB不支持ECB模式

在这种模式下,同一块加密两次会产生两次相同的密文

从安全角度来看,这是一个非常糟糕的典型例子

libnaid提供了一组精心挑选的安全构造,而不是提供许多原语、模式和参数供选择,因为许多组合实际上是不安全的

AES-ECB不是其中之一,也不会出于上述原因


你真的应该换一种不同的结构。

我不认为你可以,因为libnaudio似乎只将AES-128-CTR作为原语公开。如果它将直接暴露AES,那么您自己就可以轻松实现它。谢谢您的回答!由于您的名字出现在的许可证页上,我假定您知道您在说什么。我当然不会争论AES-ECB的优点,因为这不是我的选择。