/SDU-2022-CryptoProject

创新创业实践课实践项目repo

Primary LanguageC

SDU-2022-CryproProject

2022 Spring 创新创业实践课实践项目小组repository

队伍成员(首字母排序):

项目列表

编号 项目名称 对应文件夹 完成人
✅已完成
1 implement the naïve birthday attack of reduced SM3
  • 📢 C++版本使用OpenMP 并行优化
  • 📢 Rust 版本使用std::thread并行优化
  • cpp-naive-rho 🎣
    rust-naive-rho 🦀
    2 implement the Rho method of reduced SM3 cpp-naive-rho 🎣
    rust-naive-rho 🦀
    3 implement length extension attack for SM3, SHA256, etc md-length-extension-attack 🐙
    4 do your best to optimize SM3 implementation (software)
  • 📢 Rust 版本考虑侧信道攻击,消除了所有分支运算;支持profile图表自动化生成
  • sm3-cpp 🐙
    rust-naive-optimised 🦀
    5 Impl Merkle Tree following RFC6962
  • Construct a Merkle tree with 10w leaf nodes
  • Build inclusion proof for specified element
  • Build exclusion proof for specified element
  • merkle-tree-impl-cpp 🎣
    merkle-tree-impl-go 🐙
    merkle-tree-impl-rust 🦀
    6 Implement Hash Wires system hash-wires 🦀
    7 report on the application of this deduce technique in Ethereum with ECDSA ecdsa-pk-recovery 🦀
    8 impl sm2 with RFC6979
  • 📢 Rust version是一个全新的轮子,除了解码编码之外几乎做到self-contained,使用Montegomery reduction优化
  • sm2-go 🐙
    sm2-rust 🦀
    9 verify the above pitfalls with proof-of-concept code sig-pitfall 🐙
    10 Implement the above ECMH scheme ecmh 🐙
    11 Implement a PGP scheme with SM2
  • Generate session key: SM2 key exchange
  • Encrypt session key: SM2 encryption
  • Encrypt data: Symmetric encryption
  • sm2-pgp-cpp 🎣
    sm2-pgp-go 🐙
    12 implement sm2 2P sign with real network communication sm2-applied 🦀️
    13 implement sm2 2P decrypt with real network communication sm2-applied 🦀️
    14 PoC impl of the scheme, or do implement analysis by Google poc-google-password-checkup 🎣
    15 send a tx on Bitcoin testnet, and parse the tx data down to every bit, better write script yourself tx-parser 🐙
    16 forge a signature to pretend that you are Satoshi faketoshi 🐙
    17 research report on MPT MPT report 🦀️
    18 Find a key with hash value “sdu_cst_20220610” under a message composed of your name followed by your student ID. For example, “San Zhan 202000460001”. cryptanalysis 🐙
    20 Try to build zkp app to proof CET6 Score > 425 poc-of-zkp 🎣
    额外 Do your best to optimize SM4 implementation (software) sm4 🐙
    ❌未完成
    19 Find a 64-byte message under some k fulfilling that their hash value is symmetrical.