第五周学习内容

pycharm

下载

地址:https://www.jetbrains.com/pycharm/download/?section=windows
选择版本在这里插入图片描述
Professional:PyCharm专业版,需要购买,免费试用30天,与社区版相比,具有相对完备的功能。
Community:PyCharm社区版,免费,与专业版相比,没有Web开发、Python We框架、Python分析器、远程开发、支持数据库与SQL等这些功能。

安装

运行安装包在这里插入图片描述
选择路径在这里插入图片描述安装选项设置在这里插入图片描述

Create Desktop Shortcut

   勾选PyCharm后,在桌面创建快捷方式,该项勾选。

Update Path Variable(restart needed)

   勾选Add "bin" folder to the PATH(增加bin文件夹到环境变量)后,电脑重启后会更新环境变量,该项勾选。

   环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还会到环境变量path中指定的路径去找可运行的变量。

   环境变量中的系统变量是对所有用户有效,用户变量是对当前登录的windows账号有效,当系统变量查找不到时,会到当前用户变量中查找。另外,环境变量名称是不区分大小写的,比如:PATH和path,两个名称是一样的。

Update Context Menu:

   勾选Add "Open Folder as Project"后,更新上下文菜单,也即安装后在文件夹中,鼠标右键的菜单中出现Open Folder as PyCharm Project选项,单击该选项即可启动PyCharm,在该文件夹以项目形式启动,若该文件夹是项目所在文件夹,则是打开该项目,若该文件夹不存在项目,则自动建立项目。该项是否勾选可根据需求而定,推荐勾选,方便查看python文件或自动创建项目。

Create Associations:

  勾选.py后,创建python文件与PyCharm关联,也即.py脚本(script)文件可以用PyCharm方式打开。在计算机中,依据一定的格式编写的可执行文件称为脚本。

按个人情况选择勾选
开始菜单中PyCharm快捷方式的文件夹设置
在这里插入图片描述
在这里插入图片描述
Reboot now:立即重启电脑
I want to manually reboot later:稍后重启电脑

激活

双击pycharm
勾选,continue在这里插入图片描述
不发送Don‘t Send在这里插入图片描述
选择激活码在这里插入图片描述
在这里插入图片描述
选择Start tarial即可
在这里插入图片描述

Projects

   New Project (创建新项目),open (在本电脑中打开已有项目),Get from VCS (从其它平台打开已有项目)。

    version control(VC)版本控制工具,比如:Git是一款免费、开源的分布式版本控制系统。

Customize

   PyCharm的自定义设置,可以设置PyCharm界面外观颜色(Color theme),设置PyCharm窗口字体大小(IDE font),设置PyCharm的快捷键(Keymap)。

   PyCharm界面外观默认Darcula,是暗黑色界面,明亮白色界面可选择含有Light单词的选项。

Plugins

   安装PyCharm的插件,可以增强PyCharm的功能或效果。若要使用PyCharm的汉化版,可以在该选项的搜索框中输入Chinese,点击Chinese (Sinplified) Language Pack插件的install进行安装。

Learn PyCharm

PyCharm的学习资料

汉化在这里插入图片描述

在这里插入图片描述

python

下载

地址:https://www.python.org/

安装

点击右侧python 3.9.0即可在这里插入图片描述
运行安装包逐步安装
安装完成后,在cmd中输入python显示如图即安装成功在这里插入图片描述

base加解密

打开pycharm在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 命名时后缀需为py

python调库实现base64加解密

在这里插入图片描述

ctfshow

密码学签到

题型: 倒序加密
密文特征:

  • 1.字符顺序颠倒:倒序加密会将明文消息中的字符顺序进行颠倒。例如,“Hello, World!” 经过倒序加密后变为 “!dlroW ,olleH”。
  • 2.可逆性:倒序加密是一种可逆操作,即可以通过再次进行倒序操作将密文还原为明文。
  • 3.字符替换:倒序加密不会修改字符本身,仅仅是调整字符的顺序。
  • 4.弱加密:倒序加密并不提供真正的加密安全性,因为它的加密过程非常简单,并且可以轻松地通过解密操作还原为明文。

题解: 查看提示可知将密文倒序即可
在这里插入图片描述
在这里插入图片描述
提交flag在这里插入图片描述

crypto2

题型: JSfuck加密
密文特征:

  • 1.仅使用六个字符:JSFuck 仅使用六个字符进行编码,这些字符是 !+。通过组合和重复使用这些字符,可以表示 JavaScript 中的所有语法和操作。
  • 2.长度膨胀:由于仅使用六个字符表示复杂的 JavaScript 代码,JSFuck 密文的长度通常会显著膨胀。相比于原始的 JavaScript 代码,JSFuck 密文会更长。
  • 3.没有直观意义:JSFuck 密文对于人类来说几乎没有直观的意义。它是一种完全的编码形式,不容易被人类直接理解。
  • 4.可逆性:JSFuck 加密是可逆的,因为可以通过解码操作将 JSFuck 密文还原为原始的 JavaScript 代码。

题解:
点击DOWN.txt
在这里插入图片描述
网络查找可知该题为JSfuck加密在这里插入图片描述
使用CTF在线工具进行解密在这里插入图片描述
复制提交flag在这里插入图片描述

crypto3

题型: AAencode颜文字加密
密文特征:

  • 1.符号和组合:AAencode 将字符映射为特定的符号和组合,用于生成看起来像图形的文本。这些符号和组合通常由 ASCII 字符组成,并按照一定规则排列。
  • 2.可逆性:AAencode 加密是可逆的,因为可以通过解码操作将 AAencode 密文还原为原始的文本。
  • 3.文本扩展:AAencode 密文的长度通常会大于原始文本的长度。这是因为 AAencode 的目标是生成图形化的文本,因此需要使用更多的字符和组合来表示原始文本中的每个字符。
  • 4.丧失直观意义:AAencode 密文对于人类来说几乎没有直观的意义。它是一种特定的编码形式,不容易被人类直接理解。它更多地被用于表达情感、插图或装饰性的目的,而不是传递明确的信息。

题解:
点击02.txt在这里插入图片描述
显示为乱码在这里插入图片描述
右键另存为txt文档,打开txt文档在这里插入图片描述
易知该题为颜文字加密,使用在线解密工具解密得到flag在这里插入图片描述
上传提交即可在这里插入图片描述
复制提交flag在这里插入图片描述

crypto4

题型: RSA加密
密文介绍:
RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,被广泛应用于数据加密、数字签名和密钥交换等领域。RSA 算法基于数论中的大数分解问题,其安全性基于大整数分解的困难性。

RSA 算法涉及以下关键概念和步骤:

密钥生成:
    选择两个不同的大素数 p 和 q。
    计算 n = p * q,其中 n 是模数。
    计算欧拉函数 φ(n) = (p-1) * (q-1)。
    选择一个整数 e,满足 1 < e < φ(n) 且 e 与 φ(n) 互质,e 称为公钥指数。
    计算 e 的模反元素 d,满足 (d * e) mod φ(n) = 1,d 称为私钥指数。

加密:
    将明文消息转换为整数形式,小于模数 n。
    使用公钥 (n, e),计算密文 c = (m^e) mod n,其中 m 是明文消息。

解密:
    使用私钥 (n, d),计算明文消息 m = (c^d) mod n,其中 c 是密文。

数字签名:
    使用私钥 (n, d) 对消息的哈希值进行加密,生成签名。
    使用公钥 (n, e) 对签名进行解密,得到哈希值。
    比较解密后的哈希值与原始消息的哈希值,以验证签名的真实性。

RSA 算法的安全性主要基于大整数分解的困难性。通过选择足够大的素数作为参数,并遵循安全的密钥生成和使用实践,RSA 算法可以提供强大的加密和数字签名功能。

需要注意的是,RSA 算法在加密和解密过程中涉及大整数运算,可能会较慢,特别是对于较长的密钥长度。因此,在实际应用中,通常将 RSA 与对称加密算法结合使用,以提高性能和安全性。


“RSA2” 是指 RSA 算法的第二个版本。RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,用于数据加密和数字签名。

RSA 算法基于两个大素数的乘积难解因子分解问题,其中一个素数用于公钥加密,另一个素数用于私钥解密。它的安全性基于大整数分解的困难性,即将一个大整数分解成其素数因子的难度。

RSA2 是对 RSA 算法的一些改进和更新,以提高其安全性和性能。主要改进包括:

 1.增加密钥长度:RSA2 算法通常使用更长的密钥长度,例如 2048 位或更长,以抵御更强大的计算力和攻击。

 2.更新填充方案:RSA2 引入了更安全的填充方案,例如 PKCS#1 v1.5 或 OAEP(Optimal Asymmetric Encryption Padding),以提高抵抗选择明文攻击(chosen-plaintext attack)和其他攻击。

 3.强制使用哈希函数:RSA2 强制使用哈希函数对待加密的消息进行散列,以提高安全性和抵御签名伪造等攻击。

密文特征:

  • 1.随机性:RSA 加密过程中使用了随机数生成器,因此每次加密相同的明文都会生成不同的密文。这增加了密文的随机性和安全性。
  • 2.不可逆性:RSA 加密是一种不可逆的操作,即只能使用私钥进行解密。即使拥有公钥,也无法从密文中直接还原出明文。
  • 3.长度增加:RSA 密文的长度通常会比明文长。这是因为 RSA 加密算法在实际使用中需要使用较大的密钥长度,以提供足够的安全性。密文的长度取决于所使用的密钥长度。
  • 4.加密强度:RSA 加密的安全性依赖于密钥长度。较长的密钥长度可以提供更高的加密强度,使得破解密文变得更加困难。
  • 5.公钥加密:RSA 加密使用公钥对数据进行加密。公钥可以公开共享,用于加密数据,而私钥用于解密数据,必须保密。

题解:
利用python解密(如图),即可得到flag在这里插入图片描述
复制提交flag在这里插入图片描述

crypto5

题型: RSA加密
题解:
在这里插入图片描述
复制提交即可在这里插入图片描述

  • 34
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值