Giter Site home page Giter Site logo

wyb095 / s-aes Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1014 KB

本项目为重庆大学信息安全导论课程的 Project,扩展SAES加密是一个交互式Java应用程序,为基于简化高级加密标准(SAES)的加密操作提供了一个用户友好的图形界面。这个教育工具扩展了基本的SAES实现,支持更复杂的操作,如双重和三重加密,同时实现了中间相遇攻击和CBC加解密。

Java 100.00%

s-aes's Introduction

SAES加密

概览

本项目为重庆大学信息安全导论课程的 Project,扩展SAES加密是一个交互式Java应用程序,为基于简化高级加密标准(SAES)的加密操作提供了一个用户友好的图形界面。这个教育工具扩展了基本的SAES实现,支持更复杂的操作,如双重和三重加密,同时实现了中间相遇攻击和CBC加解密。

功能特点

SAES加密和解密

  • 使用16位二进制密钥进行加密和解密。
  • 提供了清晰的界面来输入密钥和文本,并显示输出结果。

双重加密和解密

3db6810ae8baf8113d382dc2f00858db

  • 通过将32位二进制密钥分成两个16位密钥来实现双重加密。本项目采用两次加密的方式。
  • 密钥的每一半在两个连续的加密操作中使用。
  • 解密过程使用相同的密钥反转加密步骤。

三重加密和解密

6f2b866b82ffe4d3e9cfe549a005f477

  • 使用三个独立的16位密钥扩展到三层加密过程。
  • 该过程涉及三个顺序的加密或解密操作。
  • 通过多重加密阶段提高了安全性。

中途相遇攻击模拟

  • 使用已知的明文-密文对分析和模拟中途相遇攻击。
  • 攻击尝试找到导致已知密文的密钥对。

CBC模式加密和解密

  • 实现CBC模式,该模式链接明文和密文块,提高安全性。
  • 支持输入初始化向量(IV)进行解密操作。
  • 提供了生成随机IV的方法进行加密。

系统要求

  • Java开发工具包(JDK)8或更高版本。
  • Java运行环境(JRE)8或更高版本。

使用

要启动应用程序,请执行主类UI从您的Java运行环境。将会显示带有多个功能标签的应用程序窗口。

与UI交互

应用程序中的每个标签对应一个功能:

image-20231030165335276

SAES标签

  • 在指定字段中输入您的16位二进制密钥。

  • 在输入文本区域中键入明文或密文。

  • 点击加密解密,在输出文本区域查看结果。

    image-20231030165422520

双重加密/解密标签

  • 提供一个32位二进制密钥。

  • 输入明文或密文。

  • 使用加密解密按钮执行操作并查看输出结果。

    image-20231030165500757

三重加密/解密标签

  • 在相应的字段中输入三个单独的16位二进制密钥。

  • 输入您的明文或密文。

  • 点击加密解密执行操作并显示结果。

    image-20231030213812177

中途相遇攻击标签

  • 输入已知的明文-密文对,每对一行。

  • 点击攻击运行分析并显示可能的密钥。

    image-20231030213902252

CBC模式标签

  • 输入一个16位二进制密钥,对于解密,还需提供IV。

  • 输入您的明文或密文。

  • 按下加密解密开始CBC操作并展示输出。

    交叉测试

    1.SAES

    image-20231030210208660

结果一致,通过验证。

2.双重加密

image-20231030213436569

使用本项目进行加密,使用对方项目进行解密,可得到原始的明文,通过验证。

3.三重验证

由于两组使用的实现方法不同,无法验证。

贡献

我们鼓励您对扩展SAES加密UI的功能进行增强和扩展。请fork项目,进行更改,并提交带有清晰修改描述的pull请求。

s-aes's People

Contributors

wyb095 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.