我想创建一个Web应用程序,用户可以使用用户名和密码登录此平台(我想创建一个MySQL数据库来查看用户名和密码)。
用户登录后,他从计算机中选择一个文件,然后在服务器上发送该文件。
我希望将此文件加密到一组用户(我希望将HybridABE加密与Charm Crypto一起使用)。
现在我有这些架构/编程问题。
假设我们有这个程序:
from charm.toolbox.pairinggroup import PairingGroup,GT
from charm.adapters.abenc_adapt_hybrid import HybridABEnc as HybridABEnc
from charm.schemes.abenc.abenc_waters09 import CPabe09
group = PairingGroup('SS512')
cpabe = CPabe09(group)
hyb_abe = HybridABEnc(cpabe, group)
policy = '((ONE or THREE) and (TWO or FOUR))'
msg = "hello world this is an important message."
(master_secret_key, master_public_key) = hyb_abe.setup()
attr_list = ['THREE', 'ONE', 'TWO']
secret_key = hyb_abe.keygen(master_public_key, master_secret_key, attr_list)
cipher_text = hyb_abe.encrypt(master_public_key, msg, policy)
decrypted_msg = hyb_abe.decrypt(master_public_key, secret_key, cipher_text)
我在哪里可以保存主私钥和主公钥?在像文件这样的目录服务器上?在数据库?
我可以在哪里保存用户的密钥?
答案 0 :(得分:0)
基于属性的加密系统通常只创建一次,并且只有一个主密钥和公钥对。