首页 > 数据库 > SQL Server > SQL SERVER SP解密过程推导
SQL SERVER SP 解密过程推导
在 SQL SERVER 里,已知微软在加密和解密存储过程时用的是 RC4 算法。下面是解密存储过程的解题思路,读者可以据此自己写个解密小程序。
想解密 SP ,其实就是解答下列一道证明题。
已知条件:
1. 已知需要解密的存储过程 SP_A 的密文为 Ma 。
2. 用一个已知明文的 SP_B 替换 SP_A ,这样得到 SP_B 的明文和密文分别为 Tb 和 Mb 。
求证: Ta=Ma ⊕Tb⊕Mb , Ta 即为需要解密的存储过程的明文。
证明过程:
1. 用 DAC 登录 SQLSERVER ,获取 Ma 和 Mb: SELECT imageval FROM sys . sysobjvalues where …
2. 由于RC4算法的加密和解密使用的是相同的秘钥,假设秘钥为K,那么:
a. Mb=Tb ⊕K
b. 根据异或运算公式,可以得到下列该存储过程加解秘时使用的秘钥为:
K=K ⊕0=K⊕ Tb ⊕ Tb=( K ⊕ Tb) ⊕ Tb=(Tb ⊕K ) ⊕ Tb=Mb ⊕ Tb
3. 因为 Ma=Ta ⊕K,则再次利用异或运算公式,得到下列推导结果:
Ta=Ta ⊕0=Ta⊕(K⊕K)=(Ta⊕K)⊕K=Ma⊕K=Ma⊕ Mb ⊕ Tb
4. 即 Ta=Ma ⊕Tb⊕Mb, Ta 就是需要解密的存储过程的明文。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25309314/viewspace-2671577/ ,如需转载,请注明出处,否则将追究法律责任。