签密(signcryption),理学-计算机科学技术-信息安全-密码学-密码编码学-数字签名,同时完成对消息的加密和签名,并提供保密性、认证性以及不可否认性的保护。在签密出现以前,加密和签名这两个属性通常被认为是两个独立的密码学单元,经常采用先签名再加密的方式来实现二者的属性。1997年,Yuliang Zheng提出了第一个签密方案,并在1998年提出了签密方案的椭圆曲线实现版本。一个典型的签密算法包括三部分:一是用户的密钥生成算法,生成通信双方的公钥/私对;二是签密算法,该算法利用发送者的私钥和接收者的公钥生成对传输消息的签密密文;三是解签密算法,该算法利用发送者的公钥和接收者的私钥,完成对签密密文的解签密。其中最后一个算法可能输出一个错误符号^,这代表密文是无效的。签密方案需要满足机密性和不可伪造性:方案在选择密文攻击模型下应当具有不可区分性;在自适应选择消息攻击模型下应当具有存在性不可伪造性。此外还应当抵御知道解密私钥或者签名私钥的内部攻击者的攻击。