ITPub博客

首页 > 数据库 > SQL Server > SQL SERVER SP解密过程推导

SQL SERVER SP解密过程推导

原创 SQL Server 作者:SQLServer集群 时间:2020-01-02 10:33:47 0 删除 编辑

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 就是需要解密的存储过程的明文。

 

dbtwin_sp_decrypt.txt


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25309314/viewspace-2671577/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2017-09-15

  • 博文量
    2
  • 访问量
    1313