NSS-DAY2

Crypto

[HNCTF 2022 Week1]A dictator

題目:

from random import randint
from secret import flagoffset = randint(1,100) % 26
# print(offset)assert flag.startswith('NSSCTF{')
assert all([ord(c) not in range(ord('A'),ord('Z')) for c in flag[7:-1]])for char in flag[7:-1]:if ord('a') <= ord(char) <= ord('z'):index = ord(char)-ord('a')new_char = chr((index+offset)%26 + ord('a'))print(new_char,end='')else:print(char,end='')# lzw_uswksj_uahzwj_ak_gfw_gx_lzw_egkl_tskau_udskkausd_uahzwjk

對字母進行循環偏移,即凱撒加密
在這里插入圖片描述

[SWPUCTF 2022 新生賽]小明文

題目task.py

from gmpy2 import invert
from Crypto.Util.number import getPrime, bytes_to_long
from flag import getflage = 3
p = getPrime(1024)
q = getPrime(1024)
n = p * q
phiN = (p - 1) * (q - 1)
d = invert(e, phiN)
m = bytes_to_long(getflag().encode())
c = pow(m, e, n)
print("c=" + str(c))
#c=128198926274489803523728445192921664
#flag=NSSCTF{c}

e=3,則有c+kn=m^3
由于只知道c,不知道n,嘗試直接開三次方

c=128198926274489803523728445192921664
e = 3
k=0
while True:if gmpy2.iroot(c+k,e)[1]:m = gmpy2.iroot(c+k,e)[0]print(long_to_bytes(m))breakk+=1
#b'ufind'

[HNCTF 2022 Week1]XXXOOORRR

題目:

from flag import flag
from Crypto.Util.number import *
import osrandBytes = [bytes_to_long(os.urandom(64)) for _ in range(3)]
m = bytes_to_long(flag)print(f'a = {randBytes[0]}')
print(f'b = {randBytes[0] ^ randBytes[1]}')
print(f'c = {randBytes[1] ^ randBytes[2]}')
print(f'd = {m ^ randBytes[0] ^ randBytes[1] ^ randBytes[2]}')'''
a = 1215421974111272707828609697064234072332368362928440865251897449605952163161176359366553487776268706107760670434157083936287598207881176904763353849369234
b = 10533604054267448009117468094542127075826310122733511023911022436253583775790861879410728001403728088545946257902341417532648419689212361977221573357292618
c = 6401236597601556248960570084212025183497657335932789785351897915858852832577623776212842429736547820800219382515052263929074210010546149322465536545021479
d = 5711309307698496426409561761492698639489294806611133698231840146911562848869711567477706456972659368849642409039245400981517493100724067475248620536111560
'''

根據 與自己本身異或為0,任何數與0異或都不變

a = 1215421974111272707828609697064234072332368362928440865251897449605952163161176359366553487776268706107760670434157083936287598207881176904763353849369234
b = 10533604054267448009117468094542127075826310122733511023911022436253583775790861879410728001403728088545946257902341417532648419689212361977221573357292618
c = 6401236597601556248960570084212025183497657335932789785351897915858852832577623776212842429736547820800219382515052263929074210010546149322465536545021479
d = 5711309307698496426409561761492698639489294806611133698231840146911562848869711567477706456972659368849642409039245400981517493100724067475248620536111560r0 = a
r1 = a^b
m = d^a^c
print(long_to_bytes(m))
#b'NSSCTF{XOR_ha5_many_propertie5_and_thi5_i5_ju5t_one_of_them}'

[FSCTF 2023]兔帽的奇妙冒險

題目描述

有一只名叫貝斯64先生的兔子。它戴著一頂古老的兔帽子,帽子上繡著奇異的符文,傳說這是一種能與神秘力量連接的魔法帽子。
OFR3c05RTEFKM2Q3QkxqRGlTbWthWExxSXhrZFo3SU5DVWRkOTVFQ2JUSE1VcXpRQk9hc3hqMzRrbHRJMD0=

先base64解碼
在這里插入圖片描述根據題目的兔子 可以推測是Rabbit編碼
加上Rabbit的固定頭,進行解碼
在這里插入圖片描述

[HUBUCTF 2022 新生賽]baby_encrypt

題目描述

加法?一眼破解!

baby_encrypt.txt:
781612443113954655886887407898899451044114412011257135914071455155316031651170318041861191719652013207021272183228423832485254125932643269827992924

解密:

  • 提示的加法,我們已知flag的開頭是NSSCTF
s='NSSCTF{'
for i in s:print(ord(i),end=' ')
#78 83 83 67 84 70 123
  • 解題思路:分割前綴和+逐項相減取ASCLL碼
    參考WP代碼
#1.分割數據
str = "1612443113954655886887407898899451044114412011257135914071455155316031651170318041861191719652013207021272183228423832485254125932643269827992924"
ls = [0, 78]  # 前補0方便加密,把第一個78加進來方便分割
s = ""
for ch in str:s += chif int(s) > ls[-1]:  # 因為是前綴和,取第一個比前一個大的數即可ls.append(int(s))s = ""
# print(ls)
#2.還原數據
flag = ""
for i in range(len(ls) - 1):flag += chr(ls[i + 1] - ls[i])
print(flag)
#NSSCTF{d41d8cd98f00b204e9800998ecf8427e}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/68107.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/68107.shtml
英文地址,請注明出處:http://en.pswp.cn/web/68107.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【vue3 入門到實戰】7. 標簽中的 ref

目錄 1. ref 的作用 2. 如何使用 1. ref 的作用 用于注冊模板引用 用在普通DOM標簽上&#xff0c;獲取的是DOM節點。 用在組件標簽上&#xff0c;獲取的是組件的實例對象。 2. 如何使用 代碼如下 <template><div class"app"><h2 ref"titl…

手寫MVVM框架-實現簡單的數據代理

MVVM框架最顯著的特點就是虛擬dom和響應式的數據、我們以Vue為例&#xff0c;分別實現data、computed、created、methods以及虛擬dom。 這一章我們先實現簡單的響應式&#xff0c;修改數據之后在控制臺打印。 我們將該框架命名為MiniVue。 首先我們需要創建MiniVue的類(src/co…

Redis命令:列表模糊刪除詳解

前言 在Redis中&#xff0c;列表&#xff08;List&#xff09;是一種非常常用的數據結構&#xff0c;允許存儲多個有序的元素。然而&#xff0c;在實際應用中&#xff0c;可能會遇到需要刪除列表中符合某種模式的元素的需求。本文將詳細介紹如何在Redis中實現列表的模糊刪除。…

spy-debugger + Charles 調試移動端/內嵌小程序H5

簡介說明&#xff1a; PC端可以用F12進行console等進行調試&#xff0c;但移動端App中使用webview就無法進行實時調試&#xff0c;針對這種情況 1. 安裝 全局安裝 spy-debugger sudo npm install spy-debugger -g // window不用加sudo2. spy-debugger 證書 其實spy-debugg…

【目標檢測】模型驗證:K-Fold 交叉驗證

K-Fold 交叉驗證 1、引言1.1 K 折交叉驗證概述 2、配置2.1 數據集2.2 安裝包 3、 實戰3.1 生成物體檢測數據集的特征向量3.2 K 折數據集拆分3.3 保存記錄3.4 使用 K 折數據分割訓練YOLO 4、總結 1、引言 我們將利用YOLO 檢測格式和關鍵的Python 庫&#xff08;如 sklearn、pan…

Android studio ternimal 中gradle 指令失效(gradle環境變量未配置)

默認gradle路徑&#xff1a;C:\Users\ylwj.gradle\wrapper\dists\gradle-8.10.2-bin\a04bxjujx95o3nb99gddekhwo\gradle-8.10.2\bin 環境變量-系統環境變量-雙擊path-配置上即可-注意重啟studio才會生效

Axure大屏可視化動態交互設計:解鎖數據魅力,引領決策新風尚

可視化組件/模板預覽&#xff1a;https://8dge09.axshare.com 一、大屏可視化技術概覽 在數據驅動決策的時代&#xff0c;大屏可視化技術憑借直觀、動態的展示方式&#xff0c;已成為眾多行業提升管理效率和優化決策過程的關鍵工具。它能夠將復雜的數據轉化為易于理解的圖形和…

Resnet 改進:嘗試在不同位置加入Transform模塊

目錄 1. TransformerBlock 2. resnet 3. 替換部分卷積層 4. 在特定位置插入Transformer模塊 5. 使用Transformer全局特征提取器 6. 其他 Tips:融入模塊后的網絡經過測試,可以直接使用,設置好輸入和輸出的圖片維度即可 1. TransformerBlock TransformerBlock是Transfo…

PromptSource和LangChain哪個更好

目錄 1. 設計目標與定位 PromptSource LangChain 2. 功能對比 3. 優缺點分析 PromptSource LangChain 4. 如何選擇&#xff1f; 5. 總結 PromptSource 和 LangChain 是兩個在自然語言處理&#xff08;NLP&#xff09;領域非常有用的工具&#xff0c;但它們的設計目標和…

MySQL調優02 - SQL語句的優化

SQL語句的優化 文章目錄 SQL語句的優化一&#xff1a;SQL優化的小技巧1&#xff1a;編寫SQL時的注意點1.1&#xff1a;查詢時盡量不要使用*1.2&#xff1a;連表查詢時盡量不要關聯太多表1.3&#xff1a;多表查詢時一定要以小驅大1.4&#xff1a;like不要使用左模糊或者全模糊1.…

langchain教程-12.Agent/工具定義/Agent調用工具/Agentic RAG

前言 該系列教程的代碼: https://github.com/shar-pen/Langchain-MiniTutorial 我主要參考 langchain 官方教程, 有選擇性的記錄了一下學習內容 這是教程清單 1.初試langchain2.prompt3.OutputParser/輸出解析4.model/vllm模型部署和langchain調用5.DocumentLoader/多種文檔…

如何實現網頁不用刷新也能更新

要實現用戶在網頁上不用刷新也能到下一題&#xff0c;可以使用 前端和后端交互的技術&#xff0c;比如 AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;、Fetch API 或 WebSocket 來實現局部頁面更新。以下是一個實現思路&#xff1a; 1. 使用前端 AJAX 或 Fetch…

在ubuntu22.04上先部署docker,再編譯安裝kamailio,附詳細操作流程及docker和makailio的版本號

以下是在Ubuntu 22.04上部署Docker并編譯安裝Kamailio的詳細操作流程&#xff0c;包含版本號信息&#xff1a; 一、部署Docker&#xff08;版本&#xff1a;24.0.7&#xff09; 更新系統包 sudo apt update && sudo apt upgrade -y安裝依賴工具 sudo apt install -y ap…

大模型中提到的超參數是什么

在大模型中提到的超參數是指在模型訓練之前需要手動設置的參數&#xff0c;這些參數決定了模型的訓練過程和最終性能。超參數與模型內部通過訓練獲得的參數&#xff08;如權重和偏置&#xff09;不同&#xff0c;它們通常不會通過訓練自動學習&#xff0c;而是需要開發者根據任…

位運算及常用技巧

涉及位運算的運算符如下表所示&#xff1a; 位運算的運算律&#xff1a; 負數的位運算 首先&#xff0c;我們要知道&#xff0c;在計算機中&#xff0c;運算是使用的二進制補碼&#xff0c;而正數的補碼是它本身&#xff0c;負數的補碼則是符號位不變&#xff0c;其余按位取反…

組合總和III(力扣216)

這道題在回溯的基礎上加入了剪枝操作。回溯方面我就不過多贅述&#xff0c;與組合(力扣77)-CSDN博客 大差不差&#xff0c;主要講解一下剪枝(下面的代碼也有回溯操作的詳細注釋)。我們可以發現&#xff0c;如果我們遞歸到后面&#xff0c;可能集合過小&#xff0c;無法滿足題目…

hot100(8)

71.10. 正則表達式匹配 - 力扣&#xff08;LeetCode&#xff09; 動態規劃 題解&#xff1a;10. 正則表達式匹配題解 - 力扣&#xff08;LeetCode&#xff09; 72.5. 最長回文子串 - 力扣&#xff08;LeetCode&#xff09; 動態規劃 1.dp數組及下標含義 dp[i][j] : 下標i到…

二進制/源碼編譯安裝httpd 2.4,提供系統服務管理腳本并測試

方法一&#xff1a;使用 systemd 服務文件 安裝所需依賴 yum install gcc make apr-devel apr-util-devel pcre-devel 1.下載源碼包 wget http://archive.apache.org/dist/httpd/httpd-2.4.62.tar.gz 2.解壓源碼 tar -xf httpd-2.4.62.tar.gz cd httpd-2.4.62 3.編譯安裝 指定…

Java 中 LinkedList 的底層源碼

在 Java 的集合框架中&#xff0c;LinkedList是一個獨特且常用的成員。它基于雙向鏈表實現&#xff0c;與數組結構的集合類如ArrayList有著顯著差異。深入探究LinkedList的底層源碼&#xff0c;有助于我們更好地理解其工作原理和性能特點&#xff0c;以便在實際開發中做出更合適…

Level2逐筆成交逐筆委托數據分享下載:20250127

Level2逐筆成交逐筆委托數據分享下載 采用Level2逐筆成交與逐筆委托的毫秒級數據&#xff0c;可以揭露眾多有用信息&#xff0c;如莊家策略、偽裝交易&#xff0c;讓所有交易行為透明化。這對于交易高手的策略分析極為有用&#xff0c;對人工智能領域的機器學習也極為合適&…