Please add support for SM series algorithms.
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 294
- Forks
- 78
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
The Web Crypto API is an interface allowing a script to use cryptographic primitives in order to build systems using cryptography, it is now supports regular internal algorithms like RSA, SHA, AES, etc. Now the SM series algorithms are accepted by ISO/IEC, we may use those algorithms on the web applications. So, I propose to add SM series algorithms in the Web Crypto API.
[ISO-SM3] International Organization for Standardization, "IT Security techniques -- Hash-functions -- Part 3: Dedicated hash-functions", ISO ISO/IEC 10118-3:2018, October 2018, https://www.iso.org/standard/67116.html
[ISO-SM2/SM9] International Organization for Standardization, "IT Security techniques -- Digital signatures with appendix -- Part 3: Discrete logarithm based mechanisms", ISO ISO/IEC 14888-3:2018, November 2018, https://www.iso.org/standard/76382.html.
The above three algorithms (SM2/3/9) are officially accepted on the ISO/IEC SC27 meeting at Berlin in 2018. Besides them, we also want to openly discuss whether the SM4 algorithm can be added which the status is under review.
[ISO-SM4] International Organization for Standardization, "IT Security techniques -- Encryption algorithms -- Part 3: Block ciphers", ISO ISO/IEC 18038-3:2010, December 2010, https://www.iso.org/standard/54531.html.
Brief introduction about 360 browser : I’m Shane from browser team of 360 (360 Security Technology Inc, SHA: 601360) . 360 browser is the most popular browser in China, According recent 3rd statistics from iresearch, 360 browser DAU (Daily Active User) is 7 million, MAU (Monthly Active User) is 400 million, market penetration is 84%, keep 1st place for years compared with other browser vendors. We have implemented the SM series algorithms in 360 browser since 2017, which is based on boringssl and the latest version is based on Chromium78. Also, we are planning to open source the implementation.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Web Crypto API algorithms and the cited ISO specifications for SM2, SM3, SM4, and SM9. Clarify the scope, especially whether SM4 is included, then review how the API currently defines supported algorithms; done means an agreed implementation scope for the requested SM-series support.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- api, cryptography, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100