数字取证技术(Digital Forensics Technology)实验课II

2024-06-05 21:36

本文主要是介绍数字取证技术(Digital Forensics Technology)实验课II,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

@数字取证技术(Digital Forensics Technology)实验课II

本文是我本学期的教学课题目,不包含任何博客知识分享,无关的读者可忽略;


实验练习题

(♞思考):请对工作邮件进行签名;“problem3_1.txt"里存储的是由John Doe撰写的真实的邮件,而"problem3_2.txt"里存储的是其他人恶意伪造的邮件(关键时间作了篡改);内容分别如下,请实现对邮件签名并验证的功能,并输出数字签名到文件"problem3_signature.txt”;

提示(Hint):程序将使用Python的hashlib和rsa库来完成数字签名的生成和验证过程.请确保已经通过’pip install rsa’命令安装了rsa库.你也可以自行实现,或者用其他程序实现同样的功能.

problem3_1.txt的内容:

Dear Team,Please find attached the report for the last quarter. 
Ensure you review the document and provide feedback by EOD Friday.Best regards,
John Doe

problem3_2.txt的内容:

Dear Team,Please find attached the report for the last quarter. 
Ensure you review the document and provide feedback by EOD Sunday.Best regards,
John Doe

(♞思考):(构造最佳关键词的摘要)在数字取证的过程中,可能需要对大量数据进行分层分类处理,如电子邮件、短信或其他通信记录.假设调查人员获得了一个嫌疑人的长期通信记录,需要归类其中特定的信息片段以帮助案件分析.调查人员具有一个由各种关键信息片段(keywords)组成的列表,每个信息片段都有相应的"重要性"评级值.考虑到有限的资源,调查人员需要优先处理那些"总重要性"评级值最高的信息组合.但是,由于信息的特殊性质,不同信息之间可能存在语义冲突,使得某些信息无法一起处理.因此,他们需要编写一个算法来找出一个最优的信息片段组合,使得该组合的总重要性评级值最大,且不包含任何冲突的信息片段.

提示(Hint):使用动态规划的思路,构造一个递归函数和最佳关键词的表格,遍历可能的组合(而不作重复计算),找到最优的组合;

程序如下,请实现函数find_optimal_keywords(你也可以用其他编程语言实现):

def find_optimal_keywords(KEYWORDS, CONFLICT_WORDS):pass;# 题设数据
KEYWORDS = [("诈骗", 5), ("造假", 6), ("合规", 3), ("虚报", 4), ("属实", 2)]
CONFLICT_WORDS = [("诈骗", "合规"), ("造假", "属实")]
# 运行算法求解
optimal_set, max_value = find_optimal_keywords(KEYWORDS, CONFLICT_WORDS);
print("最重要的关键词:", optimal_set);
print("重要性权值 = ", max_value);

这篇关于数字取证技术(Digital Forensics Technology)实验课II的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1034232

相关文章

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

java字符串数字补齐位数详解

《java字符串数字补齐位数详解》:本文主要介绍java字符串数字补齐位数,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java字符串数字补齐位数一、使用String.format()方法二、Apache Commons Lang库方法三、Java 11+的St

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close