密碼技術

要理解SSL就必須理解密碼系統、消息摘要函數(單向或散列函數)和數字簽名,這些技術是許多文獻所討論的主題(比如[AC96),提供了保密性、完整性和認證的基礎。

密碼系統

假設Alice想給她的銀行發一個消息以劃轉資金,并希望這個消息是保密的,因為其中含有她的帳號和劃轉金額等信息。一種方案是使用密碼系統,將要傳輸的信息轉變為加密形式,從而只能為希望他讀懂的人讀懂。一旦加密為這種形式,這條消息也許只能用一個密鑰來破譯,如果沒有,那么這條信息毫無用處,因為好的密碼系統可以使破譯難度高到入侵者認為原文不值得他們花費那么大的努力。

常規密碼:又稱為對稱密碼,需要發送者和接收者共同持有一個密鑰:一小段用來加密和解密的秘密信息。如果這個密鑰是保密的,那么這條消息除了發送者和接受者以外可能沒有人可以閱讀。如果Alice和銀行共同持有一個密鑰,則可以互相發送保密信息。但是,私有通訊密鑰的選擇行為本身,卻可能不是無懈可擊的。

公共密鑰密碼:又稱為不對稱密碼,定義了一種使用兩個密鑰的算法以解決密鑰交換問題,一個密鑰用于加密,另一個用于解密,從而使簡單公布一個密鑰(公共的密鑰,簡稱:公鑰)而保留其他的(私有的密鑰,簡稱:私鑰)以接收保密消息成為可能。

任何人都可以用公鑰加密一條消息,而僅允許私鑰的持有者閱讀。如此,Alice就可能使用公鑰加密其保密消息,發送給私鑰的持有者(銀行),只有銀行能夠對它解密。

消息摘要

雖然Alice可能加密其消息使它稱為私有的,但仍應注意到某些人可能會篡改或替換其原始消息,以劃轉資金到他們自己的帳戶。一種保證Alice消息完整性的方法是同時發一個其消息的簡單摘要給銀行,供銀行與消息本身比對,如果相符則消息正確。

這樣的方法被稱為消息摘要、單向函數散列函數。消息摘要用于對較大而且變長的消息建立較短而且等長的一種表述,其設計使將摘要還原成消息極其困難,而且對兩個不同的消息幾乎不可能生成相同的摘要,從而排除了替換一個消息為另一個而維持相同摘要的可能性。

Alice面臨的另一個挑戰是要保證摘要發送到銀行的安全,如此,才能確保消息的完整性。

一種解決方法是在摘要中包含數字簽名。

數字簽名

當Alice發送消息到銀行,銀行需要確認此消息的確是她發送的,而不是入侵者盜用其帳號。為此,可以在消息中包含一個由Alice建立的數字簽名

數字簽名是以加密的消息摘要和其他信息(比如一個流水號)以及發送者的私有密鑰建立的。雖然任何人都可能用公共密鑰解密簽名,但是只有簽發者知道其私有密鑰,也就是,只有密鑰的持有者才能簽發。包含在簽名中的摘要只對該消息有效,以確保沒有人可以改變摘要而保持簽名不變。

為了避免簽名日后被入侵者破譯和再利用,簽名包含有一個流水號。如此,萬一(只是假設)Alice并沒有發送此消息,雖然她可能真的簽發過,銀行可以免遭其欺詐性指控。

轉載于:https://www.cnblogs.com/TIlifeng/p/5576653.html

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

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

相關文章

deb php7 fileinfo,linux安裝php7.2擴展fileinfo

最簡便的方法是使用pecl安裝php的擴展,方便快捷,這里使用的是源碼編譯安裝php擴展項目 中上傳圖片遇到的問題:明顯是fileinfo不被支持,沒有安裝fileinfo。接下來開始安裝因為我的linux服務器里比較干凈,所以之前的php源…

Android之提示java.lang.RuntimeException: Parcel: unable to marshal value Image問題

1 問題 使用Intent攜帶數據(putExtra)跳轉activity,提示如下錯誤 04-18 22:42:49.664 16194 16194 E AndroidRuntime: Process: com.appsinnova.android.keepshare, PID: 16194 04-18 22:42:49.664 16194 16194 E AndroidRuntime: java.lang.RuntimeException: Parcel: unabl…

使用keepalived實現雙機熱備

2019獨角獸企業重金招聘Python工程師標準>>> 通常說的雙機熱備是指兩臺機器都在運行,但并不是兩臺機器都同時在提供服務。當提供服務的一臺出現故障的時候,另外一臺會馬上自動接管并且提供服務,而且切換的時間非常短。下面來以kee…

《看聊天記錄都學不會C語言?太菜了吧》(8)牛郎和織女竟有一個孩子?

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我,若你是真心學習可以送你書籍,指導你學習,給予你目標方向的學習路線,無套路,博客為證。 本系列文章將會以通俗易懂的對話方式進行教學,對話中將涵蓋…

技術貼:觸摸屏(TP)技術交流

轉載自:易觸網科技 電容式TP的動作原理 PS:電容式TP動作原理是利用人體電流感應來進行的,當人的手指觸摸在TP上,與Panle上的ito電路形成一個耦合電容(電容效應),於是手指從觸控點上吸走了一個微小的電流&am…

【遙感物候】植被物候與氣候(氣溫和降水)條件的空間相關性分析

植被生長與氣候的關系最為密切,通過計算植被各個生長季參數和氣溫、降水之間的相關系數可以分析生長季參數的變化與氣溫、降水之間的關系的程度。本文計算30年的植被物候參數和氣候數據之間的相關性,最終效果如下: 目錄 一、相關性分析原理

HttpContext.TraceIdentifier那嚴謹的設計

前言Asp.Net Core中有一個不受人重視的屬性HttpContext.TraceIdentifier,它在鏈路追蹤中非常有用,下面是官方的定義:在項目中一般會將該字段輸出到每一條日志中,也可以將此Id作為通用響應字段返回前端,后續可以根據該屬性和日志匹…

iOS - 富文本AttributedString

最近項目中用到了圖文混排,所以就研究了一下iOS中的富文本,打算把研究的結果分享一下,也是對自己學習的一個總結。 在iOS中或者Mac OS X中怎樣才能將一個字符串繪制到屏幕上呢? 簡單來說,是通過控件來完成的&#xff0…

php把數字倒著展示,jQuery+PHP實現動態數字展示特效

HTML本例假設要在頁面上動態展示(無需刷新整個頁面,只是局部刷新動態數字)當前在線用戶數,常見在一些統計平臺上應用。在HTML頁面中只需定義以下結構:代碼如下:當前在線:jQuery首先我們要定義一個動畫過程,使用jQuery的…

Android之實現多張圖片點擊預覽(支持放縮)和滑動

1 需求 多張圖片通過recycleView展示,然后點擊具體一張圖片支持預覽(支持放縮)和滑動 2 解決辦法 BaseRecyclerViewAdapterHelper com.github.chrisbanes.photoview.PhotoView ViewPage2 組合起來真香 https://github.com/CymChad/BaseRecyclerViewAdapt…

【Envi風暴】Envi5.4經典安裝圖文教程

ENVI(The Environment for Visualizing Images)是一個完整的遙感圖像處理平臺,應用匯集中的軟件處理技術覆蓋了圖像數據的輸入/輸出、圖像定標、圖像增強、糾正、正射校正、鑲嵌、數據融合以及各種變換、信息提取、圖像分類、基于知識的決策樹分類、與GIS的整合、DEM及地形信…

錯誤: nknown column 'xxxx' in 'where clause'

nknown column sdsds in where clause 運行環境:jdk1.7.0_17tomcat 7 spring:3.2.0 mybatis:3.2.7 eclipse 錯誤:nknown column sdsds in where clause 錯誤原因:數據庫查詢無用,可能很多寫sql語句都會遇到…

c/c++處理參數

直接上代碼&#xff1a;涉及函數getopt()&#xff0c;getopt_long() 1 #include <unistd.h>2 #include <stdlib.h>3 #include <stdio.h>4 #include <getopt.h>5 6 /*7 int main(int argc, char *argv[])8 {9 int opt; 10 char * optstring &q…

查缺補漏系統學習 EF Core 6 - 批量操作

推薦關注「碼俠江湖」加星標&#xff0c;時刻不忘江湖事這是 EF Core 系列的第七篇文章&#xff0c;上一篇文章講述了 EF Core 中的實體數據修改。這篇文章講一講 EF Core 如何進行批量操作。在眾多的 ORM 框架中&#xff0c;EF Core 的功能并不是最強大的那個&#xff0c;性能…

半小時一篇文過完C語言基礎知識點

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我&#xff0c;若你是真心學習可以送你書籍&#xff0c;指導你學習&#xff0c;給予你目標方向的學習路線&#xff0c;無套路&#xff0c;博客為證。 本文定位讀者為小白讀者&#xff0c;將使用最快的方法過完C語言基礎知識…

php變量的判空和類型判斷

&#xff08;1&#xff09;var_dump(); 判斷一個變量是否已經聲明并且賦值&#xff0c;并且打印類型和值 <?php $a; var_dump($a);//輸出null<?php var_dump($a);//輸出null<?php$a 10; var_dump($a);//輸出 int 10&#xff08;2&#xff09;isset() 判斷一個變量…

【Envi風暴】Envi插件大全:多波段拆分工具的巧妙使用

很多場合下需要做波段合成,比如波段432合成賦予紅綠藍,構造標準假彩色等等。合成后的文件通常包含多個單波段文件,在Envi中使用layer stacking工具將多個單波段數據合成為一個文件,如下所示: 那么問題來了,合成后的數據該怎樣拆開為原來的單波段呢?今天我們就來學習一種…

php表格怎么合并單元格格式化,table標簽的結構與合并單元格的實現方法

1.示例代碼&#xff1a;復制代碼 代碼如下:#1234一個完整的例子&#xff1a;復制代碼 代碼如下:#FirstnameLastnamePhoneQQ1qianshou111111111111111111112qianshou111111111111111111113qianshou111111111111111111114qianshou111111111111111111112.合并上下的單元格(rowspan…

Android之GridLayoutManager.setSpanSizeLookup問題

1 問題 利用BaseMultiItemQuickAdapter,用recycleView加載多布局,需要實現有些view顯示一行,有些一行顯示多個圖片。 在BaseMultiItemQuickAdapter適配器里面根據類型加載不同布局。 public ImageMultiItemAdapter(List<MultiItemEntity> data) {super(data);addIte…

《看聊天記錄都學不會C語言?太菜了吧》(9)老公餅真的有老公送?

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我&#xff0c;若你是真心學習可以送你書籍&#xff0c;指導你學習&#xff0c;給予你目標方向的學習路線&#xff0c;無套路&#xff0c;博客為證。 本系列文章將會以通俗易懂的對話方式進行教學&#xff0c;對話中將涵蓋…