Articles of encryption

Polarssl AES计数器模式的例子

我正在寻找一个Polarssl AES计数器模式的例子。 找不到任何地方。 对于像我这样的初学者来说, 文档是很难理解的。 它被定义为polarssl int aes_crypt_ctr (aes_context *ctx, size_t length, size_t *nc_off, unsigned char nonce_counter[16], unsigned char stream_block[16], const unsigned char *input, unsigned char *output) 我是这样写的 aes_context aes; unsigned char key[32]; unsigned char iv[16]; unsigned char input [128]="Hello"; unsigned char output[128]; size_t input_len = 40; size_t output_len = 0; aes_setkey_enc(&aes, key, 128); aes_crypt_ctr […]

如何保护HAProxy SSL证书作为服务?

我试图devise一种方法来保护我的HAProxy SSL证书,同时在磁盘上rest,这样如果负载平衡器主机被攻击,SSL证书将不会坐在那里成熟的攻击者采摘。 我意识到,至less,证书必须在内存中才能被HAProxy用来协商SSL连接。 但是,我想尽一切可能来保证证书的安全。 我怎样才能设置ssl-cert目录被保护和/或encryption,只有当它需要信息(可能是服务启动时)才可用于HAProxy? 目前我看到了两种可以实现的方式。 使用某种types的linux / * nix文件系统级encryption。 这意味着将HAProxy init / upstart脚本转换为需要在磁盘上存在特定的密码或密钥文件。 然后使用该密码将encryption的归档文件(例如RAR或其他?)中的证书提取到HAProxy / etc / haproxy / certs目录中。 HAproxy服务启动后,使用srm密码/密钥文件以及/ etc / haproxy / certs目录。 创build一个在不同的(超级安全的)主机上运行的外部API服务pipe理层。 此服务将存储证书和协调负载平衡器服务重新启动和重新加载。 这个服务将通过haproxy certs目录进行rsync ,通过ssh重新启动或重新加载,然后ssh … srm certs目录安全地擦除/ etc / haproxy / certs目录。 我将非常感谢这些想法的反馈意见,任何相关的经验,或任何其他方式可以实现这个安全目标。 其他资源: 这里是关于multi-ssl HAproxy的一个相关的相关问题。 HAProxy SSL终止文档

C:OpenSSL RSA_private_decrypt()失败,出现“错误:0407A079:rsa例程:RSA_padding_check_PKCS1_OAEP:oaep解码错误”

我是密码学新手,所以我决定创build一个简单的程序,打开一个文件encryption数据,把它放在etest.txt中,然后打开这个文件解密它,并把它indetest.txt.I知道这听起来真的很受欢迎,但它的为教育目的。 所以这里是我的代码。 我已经阅读了许多有关这个问题的主题,但是他们都没有为我工作。 #include <openssl/rsa.h> #include <openssl/pem.h> #include <openssl/err.h> #include <stdio.h> #include <string.h> int main(void) { size_t pri_len; // Length of private key size_t pub_len; // Length of public key char *pri_key; // Private key char *pub_key; // Public key char *msg = malloc(256); // Message to encrypt char *encrypt = NULL; // Encrypted message […]

Linux IPSEC是否支持AES GMAC的AH Transport?

无法弄清楚Linux内核4.4是否支持AES GMAC的IPSEC AH传输。 尝试“ip xfrm状态”命令的各种组合,但没有运气。 这是否实施? Try 1 sudo ip xfrm state add src 192.168.0.1 dst 192.168.0.2 proto ah spi 100 mode transport auth "rfc4106(gcm(aes))" 0x010203047aeaca3f87d060a12f4a4487d5a5c335 RTNETLINK answers: Function not implemented Try 2 sudo ip xfrm state add src 192.168.0.1 dst 192.168.0.2 proto ah spi 100 reqid 100 mode transport aead "rfc4543(gcm(aes))" 0x010203047aeaca3f87d060a12f4a4487d5a5c335 128 ALGO-TYPE […]

单线程到XOR两个string?

我有一个base36消息(即:[a-z0-9] +),我想用一个base36键来异或。 这可能吗? 什么是最简单的方法来做到这一点? 可以在Linux上使用单线程来完成吗?

修改/设置initramfs脚本中的根设备

我想修改根设备节点作为initramfs脚本的一部分。 我不想自己执行switch_root(除非必须)。 我想添加一个脚本,可以改变根设备,如果某些条件得到满足。 我试过各种选项,如阅读/设置$根variables,但没有奏效。 后台问题是,我只是在满足某些条件时才试图encryption根设备。 在这种情况下,我正在将旧的根设备上的数据复制到新的encryption设备中,并希望将根切换到新的encryption的/ dev / mapper / secret设备,而不是预先configuration的/ dev / sda2。

为什么这个代码不能产生一个正确的散列?

我不得不在C中写一个小小的解密程序,从一个文件(这里是“resource.bin”)中撬开一个密钥,然后使用DES-EDE解密另一个文件,这里是“rom_dump.bin”。 对于正确密钥的指示是解密的文件内容以由\0终止的十位数字开始。 之后解密的内容应该被写入另一个文件,在这里“ EVP_ecdsa() ”和文件应该散列与ECDSA(functionEVP_ecdsa() )。 所有这些都是在SUSE Linux上完成的。 这些文件可以在这里find: https://spideroak.com/browse/share/see/stack/StackOverflow/ 现在,解密工作得很好,但哈希值是不正确的: a493af52c1a000fcace34de8b0a74a9cf9067ffc 但即使经过几天的search,我也找不到问题。 这可能只是我正在监督的事情,但是如果有人能够帮助我,我会很高兴。 提前致谢。 #include <stdio.h> #include <string.h> #include <openssl/evp.h> #include <unistd.h> #include <fcntl.h> const unsigned long long bufferSize = 0x10000; int checkOutput(unsigned char *output) { int i = 0; for (i; i < 6; i++) { if (!isdigit(output[i])) { return 0; } } […]

gzip和pipe道输出(性能考虑)

q1)我可以检查我是否做了一个gzip -c文件| encryption(一些参数) a)gzip是否一行一行地打印输出,并将其传送给encryptionfunction或 b)gzip将会执行第一个,那么输出将一次全部input到encryption函数中? ================================================== == q2)将执行gzip | encryption有更好的性能考虑,然后gzip,然后encryption 问候,Noob

在Fedora 22上安装Python的TripleSec库

我试过了 pip install TripleSec 它似乎安装很好,但是当我在terminal运行triplesec我得到以下错误: import sha3 AttributeError: module object has no attribute '__get_builtin_constructor' 我已经尝试过单独安装sha3 ,但没有运气。 有什么特别的,你需要尝试?

我如何(成功)从命令行openSSL解码编码的密码?

使用PyCrypto(尽pipe我已经在ObjC中用OpenSSL绑定尝试过了): from Crypto.Cipher import DES import base64 obj=DES.new('abcdefgh', DES.MODE_ECB) plain="Guido van Rossum is a space alien.XXXXXX" ciph=obj.encrypt(plain) enc=base64.b64encode(ciph) #print ciph print enc 输出base64编码的值: ESzjTnGMRFnfVOJwQfqtyXOI8yzAatioyufiSdE1dx02McNkZ2IvBg== 如果你在翻译,ciph会给你 '\x11,\xe3Nq\x8cDY\xdfT\xe2pA\xfa\xad\xc9s\x88\xf3,\xc0j\xd8\xa8\xca\xe7\xe2I\xd15w\x1d61\xc3dgb/\x06' 很简单。 我应该能够pipe这个输出到OpenSSL并解码它: 我testing以确保b64解码工作 – python enctest.py | openssl enc -base64 -d + python enctest.py + openssl enc -base64 -d ,?Nq?DY?T?pA???s??,?jب???I?5w61?dgb/ 不漂亮,但你可以看到它解码得很好,“dgb”和“Nq”仍然存在。 但是,要充分的事情: python enctest.py | openssl enc -base64 -d […]