开源实习 | 毕昇 JDK 发布国密算法实习任务
开源实习是欧拉开源社区针对高校学生推出的线上实习,让学生在真正的开源环境中提升实践能力,深度参与开源社区贡献。访问实习官网了解详情:https://www.openeuler.org/zh/internship
毕昇 JDK 基于 OpenJDK 开发,是一款高性能、可用于生产环境的 OpenJDK 发行版。BGMProvider 是为毕昇 JDK 生态提供国密 TLS 协议 Java 实现,它包括 jca、jsse、tomcat-adaptor 等模块。目前 BGMProvider jca 模块实现的国密相关算法依赖于 bouncycastle。为了将来更好地扩展,需要将 BGMProvider 和 bouncycastle 解耦,并且在 BGMProvider 上实现国密相关算法。基于上述背景,毕昇 JDK 发布了 4 个实习任务,欢迎在校学生积极申请参与(可以选择申请国密算法实习任务中的一个或多个)。
实习任务
任务 1
在 BGMProvider 中使用 Java 实现 SM4 分组密码算法
【需求描述】
使用 Java 语言实现 SM4 分组密码算法;
实现 SM4 算法的功能测试用例;
【产出标准】
实现 SM4 算法功能测试用例,确保测试用例覆盖场景完全;
保证原本 BGMProvider 提供的测试用例通过;
符合 Java 语言的代码规范;
【任务链接】
https://gitee.com/src-openeuler/openjdk-1.8.0/issues/I5NCD2?from=project-issue
任务 2
在 BGMProvider 中使用 Java 实现 SM3withSM2 数字签名算法
【需求描述】
使用 Java 语言实现 SM3withSM2 数字签名算法;
实现 SM3withSM2 算法的功能测试用例;
【产出标准】
实现的 SM3withSM2 算法功能测试用例,确保测试用例覆盖场景完全;
保证原本 BGMProvider 提供的测试用例通过;
符合 Java 语言的代码规范;
【任务链接】
https://gitee.com/src-openeuler/openjdk-1.8.0/issues/I5NCBF?from=project-issue
任务 3
在 BGMProvider 中使用 Java 实现 SM3/HmacSM3 国密算法
【需求描述】
使用 Java 语言实现 SM3 密码杂凑算法,并且编写功能测试用例;
使用 Java 语言实现 HmacSM3 算法,并且编写功能测试用例;
【产出标准】
实现 SM3 功能测试用例,确保测试用例覆盖场景完全;
实现 HmacSM3 功能测试用例,确保测试用例覆盖场景完全;
保证原本 BGMProvider 提供的测试用例通过;
符合 Java 语言的代码规范;
【任务链接】
https://gitee.com/src-openeuler/openjdk-1.8.0/issues/I5NC9I?from=project-issue
任务 4
在 BGMProvider 中使用 Java 实现 SM2 公钥加密算法
【需求描述】
使用 Java 语言实现 SM2 公钥加密算法;
实现 SM2 算法的功能测试用例;
【产出标准】
实现 SM2 算法功能测试用例,确保测试用例覆盖场景完全;
保证原本 BGMProvider 提供的测试用例通过;
符合 Java 语言的代码规范;
【任务链接】
https://gitee.com/src-openeuler/openjdk-1.8.0/issues/I5NC6J?from=project-issue
单击此处查看 Compiler SIG 7 月份发布的实习任务
实习时间
开源实习将在社区长期进行,实习申请通过后即可开始实习,实习协议期为 6 个月,期间时间可自由分配,满 60 个实习积分并获得导师认可后即可获得实习证明。
报名资格
年满 18 周岁高校学生,无专业年级限制。
平均每周能投入 10 小时以上的时间。
请移步实习官网查看报名步骤。
Compiler SIG 介绍
Compiler SIG 专注于编译器领域技术交流探讨和分享,包括 GCC/LLVM/OpenJDK 以及其他的程序优化技术,聚集编译技术领域的学者、专家、学术等同行,共同推进编译相关技术的发展。
相关链接:
Compiler SIG 详情:https://www.openeuler.org/zh/sig/sig-detail/?name=Compiler
评论