搜索 算法
智能扫描技术在漏洞检测中的应用

智能扫描技术在漏洞检测中的应用

在WEB扫描器场景中,智能扫描技术能够自动识别接口类型,并采用相应分类规则进行漏洞检测的算法。这种技术通常被称为"智能扫描"或"漏洞扫描引擎"。 智能扫描技术利用机器学习、深度学习和模式识别等技术,通过分析网络流量、响应内容、请求参数等信息,自动识别接口类型,并据此选择相应的漏洞检测规则。 智能扫描技术的算法通常包括数据收集、特征提取、接口分类、规则匹配和漏洞报告等步骤。 这种技术能够提高漏洞扫描的效率和准确性,使得扫描器能够更快速地识别潜在的安全风险,并帮助安全团队及时进行漏洞修复。 智能扫描技术通常使用多种方法和算法来识别接口类型,包括正则表达式匹配、特征提取和分析、机器学习、深度学习和模式识别等技术。 机器学习分类算法是监督学习的一种重要任务,其目的是根据输入数据的特征,将其归类到事先定义好的类别或标签中。 在Web扫描器中应用机器学习分类算法,可以自动识别请求、响应数据属于哪种类型的接口或漏洞。 机器学习分类一般包括数据收集和标注、特征工程、模型选择和训练、模型评估、模型调优和上线等步骤。 常见的分类算法有朴素贝叶斯、逻辑回归、决策树、随机森林、支持向量机、神经网络等。 Reference 一文读懂机器学习分类算法(附图文详解) https://zhuanlan.zhihu.com/p/82114104

网游攻略 2024-04-24
胎儿体重预估怎么算(胎儿体重算法到底以谁为准)

胎儿体重预估怎么算(胎儿体重算法到底以谁为准)

胎儿体重预估怎么算?,今天小编就来聊一聊关于胎儿体重预估怎么算?接下来我们就一起去研究一下吧! 胎儿体重预估怎么算妈妈帮首页写着23周 应该体重563克? 去医院排畸B超医生说我的宝宝680克? 用妈妈帮测体重计算器算出的重725克? 大家知道到底多重么!? App测重软件都靠谱么? 我的宝宝到底有没有偏重啊? 是胖?是瘦?还是正好啊?[囧],

育儿知识 2024-01-13
人工智能十大算法,比较火的人工智能算法有哪些?

人工智能十大算法,比较火的人工智能算法有哪些?

看看京东物流分拣人工智能十大算法,就知道什么是最火的人工智能算法了。看过,你会有一种自豪感。

资讯百科 2022-04-13
人工智能十大算法,学习人工智能一定要数学很好吗?

人工智能十大算法,学习人工智能一定要数学很好吗?

人工智能是我的主要研究领域,目前也在指导机器学习方向的研究生,所以我来回答一下这个问题人工智能十大算法。 首先,要从事人工智能领域的研发一定要有一个扎实的数学基础,因为不论是从事机器学习(包括深度学习)、计算机视觉、自然语言处理还是机器人学等方向的研发都有一个共同的核心,这个核心就是算法设计,而算法设计说到底就是数学问题。 人工智能的发展需要三个基础,分别是数据、算力和算法,随着目前大数据和云计算的发展,人工智能在数据和算力上有了一定的保障,这也在一定程度上推动了人工智能的发展,也使得深度学习的效果得到了较大的改善,但是相比于数据和算力来说,算法的研究才是目前人工智能领域研究的核心。算法的突破往往具有较大的难度,不少人工智能领域的核心算法已经有了几十年的应用历史。 由于目前人工智能领域的研发依然处在行业发展的初期,依然有大量的研究课题需要突破,所以当前人工智能领域的人才需求依然以研发型人才为主,而扎实的数学基础是研发型人才必须具备的条件之一。虽然目前已经有一小部分高校在本科阶段开设了人工智能专业,但是人工智能人才的培养依然以研究生教育为主,未来较长一段时间内,要想专业从事人工智能领域的研发,读研是比较现实的选择。 在5G时代,物联网将迎来全面发展的行业预期,而物联网作为人工智能产品的重要落地应用场景之一,未来物联网和人工智能的结合也会逐渐紧密,所以对于数学基础比较薄弱的学习者来说,从物联网开始学习是不错的选择。 我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。 如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言! 人工智能未来的发展趋势有哪些? 在亿欧短视频《视也》采访的人工智能创业者专题中,有来自这个领域不同方向的30创业者,都是行业里的佼佼者。有商汤科技、驭势科技(制造无人驾驶汽车)、同盾科技、格林深瞳(徐小平背书)、优必选(16年上过春节联欢晚会)等等。从30位创业者的采访中,我们简单总结一下人工智能可能会出现的领域: 1、安防、监控,在苏州以及很多地区这样的技术已经在实践中,我们采访的嘉宾中,有一位通过人像识别技术找到了被拐卖的儿童; 2、快递、仓储、车间,我们采访的机智嘉机器人公司,就是给仓储提供机器搬运的机器人,今年也是拿到了新一轮的融资,他说今年的双十一仓库搬运,就会有机智嘉的机器人参与,也许你拿到的双十一的快递就是机器人搬运的哦,链接:/v/jizhijiazhengyong; 3、自动驾驶、无人驾驶,虽然大家都还看不明白,或者拿不出不错的例子例证人工智能在汽车方面的运用,但是很多的创业者已经扎根。举个简单的例子,驭势科技的在自动驾驶上的尝试,他们首先挑选的地方是景点、产业园,距离短、相对规范的尝试已经试运行,更有乐视的、海外的特斯拉,对了,我们采访的蔚来汽车新车将于12月份发布,大家可以关注一下,就是那个刘强东马化腾雷军投资的项目,链接:/v/weilaiqiche; 4、医疗保健,在我们采访的众多创业者,有不少医疗方面的创业者,通过计算技术把以往一些可数据、集成的图像数字化,通过大数据的分析进行。 5、在线教育、自主学习,随着技术的发现与进步,个性化与定制化的学习不再是想象,昨天我们发布的视频《创业10年,清华学霸重新定义教育》,从新东方出来创业学习,他说技术改变的是内化阶段,通过不同的接受程度定制化不通过的作业,线上与线下也不再是一个形态,学习的驱动是由需求的改变而改变,打破了传统教育班级的概念。 6、除此之外,在需要大量人工、可标准化的场景下,人工智能都会做出新的尝试。 码字不易,求点赞求关注,了解更多创新者的故事~ 大数据和人工智能有什么关联? 大数据是人工智能的基石,目前的深度学习主要是建立在大数据的基础上,即对大数据进行训练,并从中归纳出可以被计算机运用在类似数据上的知识或规律。那么,到底什么是大数据呢? 人们经常笼统地说,大数据就是大规模的数据。 这个说法并不准确。“大规模”只是指数据的量而言。数据量大,并不代表着数据一定有可以被深度学习算法利用的价值。例如,地球绕太阳运转的过程中,每一秒钟记录一次地球相对太阳的运动速度、位置,可以得到大量数据。可如果只有这样的数据,其实并没有太多可以挖掘的价值,因为地球围绕太阳运转的物理规律,人们已经研究得比较清楚了。 那么,大数据到底是什么?大数据是如何产生的?什么样的数据才最有价值,最适合作为计算机的学习对象呢? 根据马丁·希尔伯特的总结,今天我们常说的大数据其实是在2000年后,因为信息交换、信息存储、信息处理三个方面能力的大幅增长而产生的数据: 信息交换:据估算,从1986年到2007年这20年间,地球上每天可以通过既有信息通道交换的信息数量增长了约217倍,这些信息的数字化程度,则从1986年的约20%增长到2007年的约99.9%。在数字化信息爆炸式增长的过程里,每个参与信息交换的节点都可以在短时间内接收并存储大量数据。 信息存储:全球信息存储能力大约每3年翻一番。从1986年到2007年这20年间,全球信息存储能力增加了约120倍,所存储信息的数字化程度也从1986年的约1%增长到2007年的约94%。1986年时,即便用上我们所有的信息载体、存储手段,我们也不过能存储全世界所交换信息的大约1%,而2007年这个数字已经增长到大约16%。信息存储能力的增加为我们利用大数据提供了近乎无限的想象空间。 信息处理:有了海量的信息获取能力和信息存储能力,我们也必须有对这些信息进行整理、加工和分析的能力。谷歌、Facebook等公司在数据量逐渐增大的同时,也相应建立了灵活、强大的分布式数据处理集群。 从应用角度来说,今天的大数据越来越多地呈现出以下一种或几种特性: 大数据越来越多地来源于生产或服务过程的副产品,但在价值上却往往超过了为了特定目的专门采集的数据。例如,谷歌曾利用全球用户查询中,涉及流行性感冒的关键词的出现频率变化情况,对2003年到2008年全球季节性流感的分布和传播进行跟踪与预测。这一预测的覆盖规模和价值甚至超出了各国卫生部门专门收集相关数据所做的预测。 大数据往往可以取代传统意义上的抽样调查。例如,按照传统方式,电视台某个节目的收视率往往要由专业调查公司通过抽样调查的方式获得数据后估算出来。现在,有了微博或类似的社交网络,我们可以直接利用微博上每时每刻产生的大数据对节目热度进行分析,其准确性往往超过传统的抽样调查方式。 许多大数据都可以实时获取。例如,每年双十一,在各类电子商务平台上,每时每刻都有成千上万笔交易正在进行,所有这些交易数据在阿里交易平台的内部,都可以实时汇总,供人们对双十一当天的交易情况进行监控、管理或分析、汇总。大数据的实时性为大数据的应用提供了更多的选择,为大数据更快产生应用价值提供了基础。 大数据往往混合了来自多个数据源的多维度信息。假如能利用用户ID,将用户在微博上的社交行为,和用户在电子商务平台的购买行为关联起来,就可以向微博用户更准确地推荐他最喜欢的商品。聚合更多数据源,增加数据维度,这是提高大数据价值的好办法。 大数据的价值在于数据分析以及分析基础上的数据挖掘和智能决策。大数据的拥有者只有基于大数据建立有效的模型和工具,才能充分发挥大数据的价值。例如利用谷歌趋势对过去5年全球地震分布进行分析汇总。根据用户查询地震相关关键词的频率,看出过去5年内主要地震的发生时间和地点。在这里,谷歌趋势就是一个利用已有大数据建模、分析、汇总的有效工具。 欢迎关注创新工场的wei-xin号:chuangxin2009。这里是一个创新工场和创业者的沟通交流平台,您可以学习创业相关的法务、市场、财务、HR等各个业务领域所需的知识干货,还有机会参与到创新工场举办的创业者培训、沙龙和其他各类活动中。

资讯百科 2022-04-13
人工智能十大算法,学习人工智能需要学习那些知识?

人工智能十大算法,学习人工智能需要学习那些知识?

机器学习入门指南(2024版)向大家分享我机器学习之路看过的一些书、教程、视频人工智能十大算法,还有学习经验和建议,希望能对大家的学习有所帮助。 pdf版思维导图,后台回复:指南 Python——书 之前跟出版社合作,书柜里积攒了很多Python相关的书,这里推荐三本最有价值的吧。 《流畅的Python》,很厚,比较全面,可以作为工具书常常翻看。 《 从入门到实践(第2版)》 非常全面,对新手还算友好,里面有很多的练习项目非常不错。 《利用Python进行数据分析·第2版》 数据分析入门必读书,主要介绍了python 3个库numpy(数组),pandas(数据分析)和matplotlib(绘图)的学习。有开源版,就不用买了,下载链接及代码如下: ://github.com/iamseancheney/python_for_data_analysis_2nd_chinese_version Python——教程 学习Python最好的入门线上教程,首推Python官方文档 ://docs.python.org/zh-cn/3/tutorial/index.html 官方文档足够详细和系统,但是内容太庞大,学习来会有点吃力,我建议只看tutorial即可,就是上面的链接。 直接啃官方文档的教材,不如老师讲给你听来的效率高。廖雪峰的Python新手教程也是个不错的选择,每一节都有练习题,学习来更顺畅,对新手很友好。 :///wiki/1016959663602400 机器学习最常用的库少不了Numpy Pandas Matplotlib这些库我觉得看官方文档就好了,不过英文不好的同学可能就不满意了,这里分别列一下这些库的官方文档和我觉得很不错的中文教程,提醒一下哈,官方文档只需要看我列出的链接即可。 Numpy 官方文档:://numpy.org/doc/stable/user/quickstart.html 中文教程::///user/quickstart.html Pandas 官方文档:://pandas.pydata.org/docs/user_guide/10min.html 中文教程::///docs/getting_started/10min.html Matplotlib 官方文档:://matplotlib.org/stable/tutorials/introductory/usage.html 中文教程::///tutorials/ Python——视频 实话实话,我没有完整的看过任何Python视频。归根结底,Python入门很简单,看视频效率太低。传言B站的[小甲鱼]零基础入门学习Python不错,简单看了一眼,确实0基础。我们用Python是用来学机器学习的,喜欢看视频学习的同学可以看看,建议只看P1-P53即可。 《零基础入门学习Python》::///video/av27789609 机器学习——书 市面上凡推荐机器学习的书,都少不了李航的《统计学习方法》和周志华的《机器学习》,我当初也是看了大佬推荐,在这两本书上耗费了极多的时间。但这两本我觉得都很不适合入门,尤其是统计学习方法,简直就是上等武功秘籍,太过精炼,啃起来太吃力。对比起来周老师的《机器学习》相对好点,其中有些公式推导有点跳,Datawhale 出了一本开源的《机器学习公式详解》是个很好的补充。周世华的《机器学习》是必不可少的工具书,还是必读的,而且要反复阅读,不过建议在看过视频教程之后。 ://datawhalechina.github.io/pumpkin-book 偏应用的书,只推荐一本,其他的都不要看!!!:《机器学习实战:基于Scikit-Learn、Keras和TensorFlow(原书第2版)》,入门可以先看前 9 章。 市面上很少有书能够把机器学习在业务层面的应用介绍清楚,比如模型解释、模型上线,模型监控等等,没有看到特别详细的,有一本还算满意,就是知名度比较低:《机器学习:软件工程方法与实现。 《机器学习:软件工程方法与实现》 现在无论是竞赛还是工业界,boost模型都应用十分广泛,分类、回归、排序,XGBoost都能搞。最后再介绍一本我认为的必读:《深入理解XGBoost:高效机器学习算法与进阶》,作者是XGBoost开源社区贡献者何龙。这本书以机器学习基础知识做铺垫,深入剖析了XGBoost的原理、分布式实现、模型优化、深度应用等。 机器学习——教程 教程没有看到太好的,除了sklearn的文档,只推荐吴恩达、李宏毅、林轩田三位老师的视频课件。课件这里不单独列出来了,下载链接我放到思维导图里了。 Sklearn 官方文档:://scikit-learn.org/stable/user_guide.html 中文教程:://sklearn.apachecn.org/ 机器学习——视频 与Python不同,机器学习基础我觉得最好还是跟着视频学,因为初学机器学习算法,涉及很多公式推导,非常难理解,跟着视频学起来会轻松不少。 视频首推吴恩达的公开课,这是学习机器学习基础知识的最好的课程。英语不好的同学也不要担心,视频是有中文字幕的。 :///video/BV164411b7dx 作为补充,时间充裕的同学可以看看台大李宏毅的机器学习公开课,特点是中文授课,比较轻松愉快。 :///video/BV1pE411g7Wi 时间更充裕的也可以看看林轩田的视频课,只看基石部分即可。 :///video/BV1Ft41197Dy 机器学习——数学基础 系统地学习机器学习所必须的数学知识 数学基础这一块是个无底洞,不太建议大家耗费过多时间,用到了再补也不迟。 也不建议大家看书,基础确实特别薄弱的同学,推荐一本:《机器学习的数学》,这本书特别全面的介绍了微积分、线性代数、概率统计、信息论、随机过程、图论等内容。再强调一遍,此书仅适于基础特别薄弱的同学。 我感觉机器学习中用到最多的应该是线代,喜欢看视频的可以看看李宏毅的机器学习中的线性代数: :///video/BV1G7411f7BE/ 或者3blue1brown:线性代数的本质 :///video/BV1Ys411k7yQ 其他数学基础相关的电子书,我也放到思维导图中了。 一些经验和建议 1、我敢肯定很多初学者都是资料收集爱好者,越攒越多反而不知道从何开始。我强烈建议把资料都扔掉,以我的这一套为准,一以贯之的学下去。 2、就像前面我提到的,很多东西先不要深究,不要在某些地方卡太久(比如数学部分,比如编程基础),先学下去,学完。了解大的框架之后,以后用到哪里,再回过来补也不迟。 3、机器学习的各种算法没必要样样精通,常用的比如LR、树模型、RF、XGBoost等等掌握好就不错了。 4、我身边一些优秀的程序员、分析师、工程师都非常推崇“做中学,学中做”,无论是书本还是视频,看到一些好的方法和技巧,要立即自己实现一遍。看起来非常简单的东西,真真动手的时候才会发现自己的不足。快速学完上述内容就尽快开始实践吧,可以先复现天池或kaggle上优秀的notebook,然后就参与一些入门竞赛。 5、如果你已有工作,最好的还是在业务中寻找机器学习应用场景,然后尝试去开发一个适用的模型。不懂就搜索,学习。这是我所知最好的,最有价值的学习方法。 6、输出也是特别好的学习方式,输出就是把新学到的知识用某种方式讲给别人听,做到让他们也能理解、学会。我比较喜欢写笔记(我常用的是微软的OneNote),然后把笔记整理成文章发到博客上。这样不仅使对自己知识掌握程度的一种检验,发现薄弱点,也可以让大家共同监督,相互学习,教学相长。 OK,以上就是所有内容。欢迎与我交流

资讯百科 2022-04-12
标准电码本,有用过国密算法SM4的吗?

标准电码本,有用过国密算法SM4的吗?

算法调用参数该算法需要一个结构体 sm4_context ctx 来保存上下文信息标准电码本,即加密模式和各轮子密钥。 该结构体定义如下 typedef struct { int mode; /*!< encrypt/decrypt */ unsigned long sk[32]; /*!< SM4 subkeys */ } sm4_context; 加密密钥调度算法首先调用sm4_setkey_enc(&ctx,key)设置密钥,这个函数会设置mode为加密,并调用static void sm4_setkey( unsigned long SK[32], unsigned char key[16] )来完成设置密钥的操作 static void sm4_setkey( unsigned long SK[32], unsigned char key[16] ) { unsigned long MK[4]; unsigned long k[36]; unsigned long i = 0; GET_ULONG_BE( MK[0], key, 0 ); GET_ULONG_BE( MK[1], key, 4 ); GET_ULONG_BE( MK[2], key, 8 ); GET_ULONG_BE( MK[3], key, 12 ); k[0] = MK[0]^FK[0]; k[1] = MK[1]^FK[1]; k[2] = MK[2]^FK[2]; k[3] = MK[3]^FK[3]; for(; i<32; i++) { k[i+4] = k[i] ^ (sm4CalciRK(k[i+1]^k[i+2]^k[i+3]^CK[i])); SK[i] = k[i+4]; } } 类似于加密中的操作,首先通过宏将初始的密钥转换为4个32位bit整数,MK0,MK1,MK2,MK3,并为计算各轮密钥预先准备好初始值,其中FK数组为系统参数 k[0] = MK[0]^FK[0]; k[1] = MK[1]^FK[1]; k[2] = MK[2]^FK[2]; k[3] = MK[3]^FK[3]; 此后,对于第i轮的密钥SK[i] ,其是由k[i]和对k[i+1]^k[i+2]^k[i+3]^CK[i]的复合变换T’异或得到的: SK[i] = k[i+4] = k[i] ^ (sm4CalciRK(k[i+1]^k[i+2]^k[i+3]^CK[i])) 其中CK是固定参数,虽然代码中直接给出了CK,实际上,其是有一定的计算方法的:设CKij为CKi的第j字节,即CKi=(cki0, cki1, cki2, cki3),则ckij=(4i+j)*7(mod 256)。 函数sm4CalciRK,也就是变换T’,与加密轮函数中的T基本相同,同样是先进行Sbox的非线性替换,然后进行线性变换,只是线性变换L改为了: rk = bb^(ROTL(bb, 13))^(ROTL(bb, 23)); static unsigned long sm4CalciRK(unsigned long ka) { unsigned long bb = 0; unsigned long rk = 0; unsigned char a[4]; unsigned char b[4]; PUT_ULONG_BE(ka,a,0) b[0] = sm4Sbox(a[0]); b[1] = sm4Sbox(a[1]); b[2] = sm4Sbox(a[2]); b[3] = sm4Sbox(a[3]); GET_ULONG_BE(bb,b,0) rk = bb^(ROTL(bb, 13))^(ROTL(bb, 23)); return rk; } 加密过程通过调用void sm4_crypt_ecb( sm4_context *ctx,int mode,int length,unsigned char *input,unsigned char *output)对密文input进行电码本模式的加密,加密的核心是调用了 对每一块密文进行加密:static void sm4_one_round( unsigned long sk[32], unsigned char input[16], unsigned char output[16]): static void sm4_one_round( unsigned long sk[32], unsigned char input[16], unsigned char output[16] ) { unsigned long i = 0; unsigned long ulbuf[36]; memset(ulbuf, 0, sizeof(ulbuf)); GET_ULONG_BE( ulbuf[0], input, 0 ) GET_ULONG_BE( ulbuf[1], input, 4 ) GET_ULONG_BE( ulbuf[2], input, 8 ) GET_ULONG_BE( ulbuf[3], input, 12 ) while(i<32) { ulbuf[i+4] = sm4F(ulbuf[i], ulbuf[i+1], ulbuf[i+2], ulbuf[i+3], sk[i]);// #ifdef _DEBUG// printf(“rk(%02d) = 0x%08x, X(%02d) = 0x%08x \n”,i,sk[i], i, ulbuf[i+4] );// #endif i++; } PUT_ULONG_BE(ulbuf[35],output,0); PUT_ULONG_BE(ulbuf[34],output,4); PUT_ULONG_BE(ulbuf[33],output,8); PUT_ULONG_BE(ulbuf[32],output,12); } 函数中使用了两个宏GET_ULONG_BE(n,b,i)和PUT_ULONG_BE(n,b,i),作用分别为: GET_ULONG_BE(n,b,i):将字符型数组b的第i到第i+3位的二进制拼接成一个4*8=32bit的整数,存入n中 #define GET_ULONG_BE(n,b,i) \ { \ (n) = ( (unsigned long) (b)[(i) ] << 24 ) \ | ( (unsigned long) (b)[(i) + 1] << 16 ) \ | ( (unsigned long) (b)[(i) + 2] << 8 ) \ | ( (unsigned long) (b)[(i) + 3] ); \ } PUT_ULONG_BE(n,b,i):将整数n的32位的二进制表示转换为4个char的数组,存入数组b的第i到第i+3位 #define PUT_ULONG_BE(n,b,i) \ { \ (b)[(i) ] = (unsigned char) ( (n) >> 24 ); \ (b)[(i) + 1] = (unsigned char) ( (n) >> 16 ); \ (b)[(i) + 2] = (unsigned char) ( (n) >> 8 ); \ (b)[(i) + 3] = (unsigned char) ( (n) ); \ } 所以,在函数sm4_one_round()中,先将128位的输入input转为四个32位的整数,放入ulbuf[4]中,然后迭代地调用函数static unsigned long sm4F(unsigned long x0, unsigned long x1, unsigned long x2, unsigned long x3, unsigned long rk) 进行32轮加密,每一轮加密都需要使用之前的128位结果 ulbuf[i], ulbuf[i+1], ulbuf[i+2], ulbuf[i+3] 和该轮的密钥 sk[i],产生出该轮的密文 ulbuf[i+4],最后的密文存储在ulbuf[35]~ulbuf[32]中,转换为字符数组的形式放入output中。 一轮加密static unsigned long sm4F(unsigned long x0, unsigned long x1, unsigned long x2, unsigned long x3, unsigned long rk) static unsigned long sm4F( unsigned long x0, unsigned long x1, unsigned long x2, unsigned long x3, unsigned long rk) { return (x0^sm4Lt(x1^x2^x3^rk)); } 每一轮加密中,输入为(x0, x1, x2, x3),xi为32位比特,共计128比特。通过得到该轮加密的结果。在此时,SM4就将轮密钥应用在了加密中。 sm4Lt()是一个合成变换,由非线性变换t和线性变换L复合而成: 首先将输入的整数ka转换为8比特一个的字符,然后使用S盒进行非线性变换,再将变换结果转换为32比特的整数,最后对得到的32位整数bb进行线性变换: c=bb异或(bb<<<2)异或(bb<<<10)异或(bb<<<18)异或(bb<<<24)。从而得到复合变换的结果c。 static unsigned long sm4Lt(unsigned long ka) { unsigned long bb = 0; unsigned long c = 0; unsigned char a[4]; unsigned char b[4]; PUT_ULONG_BE(ka,a,0) b[0] = sm4Sbox(a[0]); b[1] = sm4Sbox(a[1]); b[2] = sm4Sbox(a[2]); b[3] = sm4Sbox(a[3]); GET_ULONG_BE(bb,b,0) c =bb^(ROTL(bb, 2))^(ROTL(bb, 10))^(ROTL(bb, 18))^(ROTL(bb, 24)); return c; } 算法中对循环移位的实现较为巧妙,SHL(x,n)可以得到左移n位之后的结果,然后与右移的结果((x) >> (32 – n))逐位或来将右边空缺的n位补齐,效率比较高: #define SHL(x,n) (((x) & 0xFFFFFFFF) << n) #define ROTL(x,n) (SHL((x),n) | ((x) >> (32 – n))) 加密过程小结至此,sm4算法的加密过程就分析完了。其加密过程与DES算法相似,每一轮中先使用sbox进行非线性变换,然后再通过循环移位操作进行线性变换。其每轮加密用到了之前四轮加密的结果,进一步提高了加密的强度。 解密过程解密前,首先要通过void sm4_setkey_dec( sm4_context *ctx, unsigned char key[16] )函数设定解密时使用的key,这个函数还会将密钥的顺序倒置,然后调用sm4_crypt_ecb()即可解密。 SM4的解密变换与加密变换结构相同,不同的仅仅是轮密钥的使用顺序相反。 请大家多多关注我的头条号,谢谢大家!

资讯百科 2022-03-26
直播间拉人气顺口溜,陈亚男为什么会抛弃朱单伟?

直播间拉人气顺口溜,陈亚男为什么会抛弃朱单伟?

与其说是陈亚男抛弃朱单伟不如说是朱单伟一夜之间长大了,成熟了,不想再给陈亚男当赚钱工具和人气儿“陪衬”直播间拉人气顺口溜。 两个风马牛不相及的人成为夫妻,不是一个太会算计就是另一个有被利用的价值。他们俩人的结合可以说两个全占了。 从面相上看朱单伟老实憨厚不善言谈,是典型的庄稼人,如果不是父亲朱之文有一定的知名度,像他这样憨里带着笨拙的小伙子恐怕是农村找对象的困难户。 之所以被陈亚男“看上”,这要感谢他有个会唱歌的父亲,有个能给他提升价值掩盖不足的爸爸。 我敢说如果单凭朱单伟个人条件,不会有这桩及不般配的婚姻,也没有这么多人认识陈亚男,更没有陈亚男赚取这么多流量成为“网红”的今天。 如今一个被利益驱使已经分不清是非曲直、不知道自己几斤几两的人,在所谓“团队”的反作用下,把婚姻搞得如此糟糕,闹到“人人喊打”的地步,这不得不说是人生的一大败笔。 坏事变好事,它可以让头脑膨胀的人冷静下来辨别清楚周围都是什么人,有几个是为了维护自己的婚姻在帮自己。 女人干事业可以,但绝不能以牺牲婆家利益为代价,更不能把自己的丈夫当傻子所愚弄。 相夫教子、尊重公婆是女人的本分,更何况老朱家本身就是农民,更在乎儿媳妇应该干什么,不应该干什么,陈亚男的所作所为已经超出了婆家的道德底线,因此才惹怒了朱之文,拍醒了朱单伟。 覆水难收,人生的路还很长,劝陈亚男好自为之吧。 直播平台人气的算法是怎么来的? 直播平台的人气(数)一直是一个迷,你经常能见到各种直播平台,十万、几十万、上百万甚至千万级别的人气,甚至还闹出过“13亿”人都在看直播的搞笑场面。那么,直播平台人数造假到底有多严重呢? 众所周知,在原来,直播平台用的指标并不是“热度”而是“人数”,是实打实的人数哦!但是后来被多方媒体批人数造假,各个直播平台才“鸡贼”的把“人数”换成了“人气”,后又改成了“热度”。 后来我们也渐渐了解到,热度值是按照比例“放大”过后的产物,所以这时候探究每个平台的“指数”又成了一个非常好玩的事情。 在世界第一游戏直播平台Twitch上,采用的是真实人数,而据许多网友表示,在Twitch上直播,人数能过10000已经是非常火爆的主播了!(参考斗鱼各区一哥级别)而在这些直播平台呢?没有10W的热度你好意思说自己出名? 当然了,这也是我们的“国内特色”嘛,毕竟每个人都知道热度是不真实的,是经过放大的,反而这也成为了一种衡量主播的方式,毕竟如果一个主播真的很火,又没有和平台发生矛盾的话,热度肯定是越来越高的。 毕竟大家看着自己喜欢的主播有几十万、几百万的热度,看着总比几千人来得更爽吧!一个愿打,一个愿挨,我们也不好说什么。 而且为了宣传一些重要的比赛和活动,斗鱼也会提高倍数,这在甲方(赛事方)看来,也是一种变相的支持吧!对平台发展也是有利的。 水友们如果有自己的独到见解,欢迎在评论区留言讨论! 这里是《黎明游戏》——关注我们,每日带给你最新鲜、最有深度、最好玩的游戏见闻。你的观点,我们尊重。

资讯百科 2022-02-17
两位数乘法速算,任意两位数乘以两位数的速算法?

两位数乘法速算,任意两位数乘以两位数的速算法?

任意两位数相乘万能计算公式:ab x cd = ac + ad x bc + bd三步法口诀两位数乘法速算: 1、十位数乘十位数(观察下一步运算,有进位的加进位)。 2、个位数和十位数相乘积相加(观察下一步运算,有进位的加进位)。 3、个位数乘个位数。 例子: 1.十几乘十几: 口诀:头乘头,尾加尾,尾乘尾。 例:12×14=? 解:1×1=1 2+4=6 2×4=8 12×14=168 注:个位相乘,不够两位数要用0占位。 2、头相同,尾互补(尾相加等于10): 口诀:一个头加1后,头乘头,尾乘尾。 例:23×27=? 解:2+1=3 2×3=6 3×7=21 23×27=621 注:个位相乘,不够两位数要用0占位。 3、第一个乘数互补,另一个乘数数字相同: 口诀:一个头加1后,头乘头,尾乘尾。 例:37×44=? 解:3+1=4 4×4=16 7×4=28 37×44=1628 注:个位相乘,不够两位数要用0占位。 为什么有些乘法可以速算?    有些善于快速计算的人,对一些复杂的计算题,能够很快地算出正确的答案。数学家们研究过,这些人除了有很好的记忆力和心算本领以外,还掌握了一些速算规则。 假设有两个二位数相乘,其十位数是相同的,而个位数的和是10,就可以进行速算。 例如:74×76=? 我们可以用十位数字乘以比十位数字大1的数,就是7×8=56。   再用两个数的个位数字相乘,即4×6=24。最后把两个乘积写在一起,即5624。这个得数就是74×76的乘积。 这是什么道理呢?因为 (10a+b)(10a+c) =100a2+10ab+10ac+be =100a2+10ab+10a(10-b)+be (∵b+c=10) =100a2+10ab+100a-10ab+be=100a(a+l)+bc。  这个办法也可以推广到多位数。譬如: 497×493=? 我们就可以用上面的简捷办法: 49×50=2450, 7×3=21, 因此 497×493=245021。 速算的方法与规则很多,不过,这些方法都必须对数字要有非常敏锐的观察力。  否则,光有这些规则,如果临时盘算到底用哪一个,算起来的速度可能并不比普通方法快多少。 再举一个例子,譬如我们要求72548×37=? 如果你注意到37的三倍是111,因此,用37来乘一个数时,可以先用111来乘,然后再用3除。当然,乘111是极为简易的。   记忆力在速算方面也起了巨大的作用。历史上有些速算奇人,能够全部记住1000以内的数字的平方,这样,六位数乘六位数,对他们来说,也是一件轻而易举的事。 其实,各种算题都可以速算,并不限于上面所说的一些方法,但我们必须先对基本的算法相当熟练了以后,才能从中找到速算的途径。  

资讯百科 2022-01-15
快速计算法,儿童珠心算是怎么计算的呢?

快速计算法,儿童珠心算是怎么计算的呢?

近期央视播放的《挑战不可能》里吴美玲的珠心算,让人是目瞪口呆,感觉好神奇。后来我也查阅了一些珠心算的资料。由于这是一个新开辟的领域,现在还没有整套的被实践证实的权威理论。虽然如此,珠心算的教学活动竟被当前已有的科学快速计算法、医学理论证实是有根据的,有正面效应的,就是人的大脑潜在功能”脑映象”是确实存在的,”脑映象”开发直接有利于人的右脑活动。有了这两大科学依据,我们即可以在已有的理论(即使不完整的)指引和借鉴下,从实际出发,重视珠心算教学活动的研究,不断实践、不断总结,使丰富的教学实践和经验为脑科学、教育心理学提供大量的丰富的资料,从而充实提高研究的成果,以更深入,更全面的理论来指导珠心算教学活动健康发展。事实告诫我们:在开发珠心算教学活动的同时,必须开发珠心算的心理机制、脑功能。下面给大家推荐一个比较完整的珠心算口诀。 怎么样学好小学的简便计算? 简便运算我理解的就是一些速算和巧算技巧,小学阶段速算和巧算的核心是凑整先算,凑成整十、整百、整千这样的数易于简便运算。一年级的凑十法是理论基础,我是王老师,致力于小学数学的精品问答!我觉得不必过分追求技能型的一些方法学习,比如珠心算等。越到高年级,越没多大用处。在以往问答中,我分享过一二年级速算与巧算,今天整理三年级的知识点,供您参考!小初衔接最终要考察的是运算基础。掌握一些简算技巧,不但可以算得又快又准,更能增加孩子学习计算的兴趣和信心。 速算与巧算① 三年级知识点 三年级把凑整先算再次提高到补数的概念上。其实核心还是凑整法,当然也可以通过各种简算定律延申到四则混合运算。高年级分数计算三大法宝:裂项、换元、通项归纳可以关注我的其他问答。 ② 等差数列求和 可以利用配对求和或中间数求和。详细讲解欢迎关注我的二年级趣味数学专栏。以精美教学素材,提升学习兴趣为前提,注重综合数学思维锻炼。 ③ 简算定律 欢迎关注王老师头条号及数学专栏 学习更多好玩有趣的数学辅导方法

资讯百科 2022-01-06
掐指一算能说会辨 漫谈自动驾驶算法

掐指一算能说会辨 漫谈自动驾驶算法

  [汽车之家 凹凸漫谈]  不管你承认不承认,AI算法已经深植我们的生活中,从你手机里的“小X你好”到某宝给你的独家推荐都离不开这项神秘算法,自动驾驶汽车也一样。上期我们画了自动驾驶传感器和芯片,这期就来看看自动驾驶汽车脑子里是怎么想的——神经网络算法。不知道AI怎么想?搞不好你以后连车都开不走……  点击上图进入《先驱者系列》我们将深入到自动驾驶领域,采访这个领域的头部公司(中国品牌,包含车企及供应商),通过对这些头部公司的研究初衷、研发过程、研发现状以及未来方向进行全面的报道,让汽车之家的网友了解到自动驾驶这一领域在国内、世界上到底处于一个怎样的状态。

汽车百科 2021-07-30
< 1 >