2024 puzzle 1024

Problem G. 2024SocodingPuzzle1024 G 密码

Alice和Bob约定了一种密码。

Alice给Bob发送了经加密过的文件m,flag为加密的原文。

试求flag。已知: m = 13918

他们的密码分为三个部分:

  1. 用到一本字典书,这本书是大学最重要的一门课程的教科书,并且在大一上学习(第二版,北京大学出版社).有序数对(a,b)表示这本书的第a页正文部分的第b个汉字(只数汉字(包括蓝色字),不数数字和符号,标题也不数).

    key_A = (68,33)(250,2)(69,3)(129,41)(69,3)(215,6)(11,8)(15,10)(39,2)(68,33)(250,2)(69,3)(11,8)(129,41)(39,2)

  2. 将key_A这串汉字表示为一个二进制编码key_B(每一个汉字用一个或多个1或0表示),有3个要求:1 key_B可以唯一确定翻译成key_A ,即不存在歧义.2 使得key_B的长度最短,3 出现次数越少的数用越多的1表示.

  3. 将key_B从中间截断成两个二进制数,将他们相加并表示成十进制并记作key_C.已知Alice和Bob使用的是R S A加密,并且key_C减去22998为公钥,对key_C减去23948进行质因数分解得到的两个质数中较大的为Alice的密钥,较小的为Bob的密钥.

输入

输出

登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 3
通过 1

A B C D E F G H I