當前位置:首頁 » 編程語言 » javaecc

javaecc

發布時間: 2023-08-18 13:56:54

1. ScreenOS/Keys的中文意思

ScreenOS是操作系統,目前最新的是5.4,keys則是鍵值。
3DNow!(3D no waiting)
3DPA(3D Positional Audio,3D定位音頻)

3DS(3D SubSystem,三維子系統)

ABS(Auto Balance System,自動平衡系統)

AC(Audio Codec,音頻多媒體數字信號編解碼器)

ACOPS: Automatic CPU OverHeat Prevention System(CPU過熱預防系統)

ACPI(Advanced Configuration and Power Interface,先進設置和電源管理)

AE(Atmospheric Effects,霧化效果)

AFR(Alternate Frame Rendering,交替渲染技術)

AGAS(Anti Glare Anti Static Coatings,防強光、防靜電塗層)

AGP: Accelarated Graphic Port(加速圖形埠),一種CPU與圖形晶元的匯流排結構

AGU(Address Generation Units,地址產成單元)

AH: Authentication Header,鑒定文件頭

AHA(Accelerated Hub Architecture,加速中心架構).

AL: Artificial Life(人工生命)

ALU(Arithmetic Logic Unit,算術邏輯單元)

AMR(Audio/Modem Riser,音效/數據主機板附加直立插卡)

AMR(Audio/Modem Riser;音效/數據機主機板附加直立插卡)

Anisotropic Filtering(各向異性過濾)

API(Application Programming Interfaces,應用程序介面)

APIC: Advanced Programmable Interrupt Controller(高級程序中斷控制器)

APM(Advanced Power Management,高級能源管理)

APPE(Advanced Packet Parsing Engine,增強形幀解析引擎)

ARP(Address Resolution Protocol,地址解析協議)

ASC(Anti Static Coatings,防靜電塗層)

ASC(Auto-Sizing and Centering,自動調效屏幕尺寸和中心位置)

ASCII(American Standard Code for Information Interchange,美國國家標准信息交換代碼)

ASIC: Application Specific Integrated Circuit(特殊應用積體電路)

ASK IR(Amplitude Shift Keyed Infra-Red,長波形可移動輸入紅外線)

ASMO(Advanced Storage Magneto-Optical,增強形光學存儲器)

ASPI(Advanced SCSI Program Interface, 高級SCSI編程介面。它定義了當和SCSI主機適配器通訊時應用程序使用的一系列軟體命令)

AST(Average Seek time,平均尋道時間)

ATA(AT Attachment,AT擴展型)

ATAPI(AT Attachment Packet Interface)

ATC(Access Time from Clock,時鍾存取時間)

ATL: ActiveX Template Library(ActiveX模板庫)

ATM(Asynchronous Transfer Mode,非同步傳輸模式)

ATOMM(Advanced super Thin-layer and high-Output Metal Media,增強形超薄高速金屬媒體)

ATX: AT Extend(擴展型AT)

Auxiliary Input(輔助輸入介面)

AV(Analog Video,模擬視頻)

AVI(Audio Video Interleave,音頻視頻插入)

Back Buffer,後置緩沖
Backface culling(隱面消除)

BASIC:Beginner's All-purpose Symbolic Instruction Code(初學者通用指令代碼)

Battle for Eyeballs(眼球大戰,各3D圖形晶元公司為了爭奪用戶而作的競爭)

BCF(Boot Catalog File,啟動目錄文件)

Benchmarks:基準測試程序數值

BGA(Ball Grid Array,球狀矩陣排列)

BGA(Ball Grid Array,球狀矩陣排列)

BGA: Ball Grid Array(球狀網格陣列)

BHT(branch prediction table,分支預測表)

BIF(Boot Image File,啟動映像文件)

Bilinear Filtering(雙線性過濾)

BIOS(Basic Input/Output System,基本輸入/輸出系統)

BLA: Bearn Landing Area(電子束落區)

BMC(Black Matrix Screen,超黑矩陣屏幕)

BOD(Bandwidth On Demand,彈性帶寬運用)

BOPS:Billion Operations Per Second,十億次運算/秒

bps(bit per second,位/秒)

BPU(Branch Processing Unit,分支處理單元)

Brach Pediction(分支預測)

BSD(Berkeley Software Distribution,伯克利軟體分配代號)

BSRAM(Burst pipelined synchronous static RAM,突發式管道同步靜態存儲器)

BTB/C: Branch Target Buffer/Cache (分支目標緩沖)
C2C: card-to-card interleaving,卡到卡交錯存取
CAD: computer-aided design,計算機輔助設計

CAM(Common Access Model,公共存取模型)

CAS(Column Address Strobe,列地址控制器)

CBR(Committed Burst Rate,約定突發速率)

CC: Companion Chip(同伴晶元),MediaGX系統的主板晶元組

CCD(Charge Coupled Device,電荷連接設備)

CCIRN: Coordinating Committee for Intercontinental Research Networking,洲

CCM(Call Control Manager,撥號控制管理)

cc-NUMA(cache-coherent non uniform memory access,連貫緩沖非統一內存定址)

CCS(Cut Change System)

CCT(Clock Cycle Time,時鍾周期)

CDR(CD Recordable,可記錄光碟)

CD-ROM/XA(CD-ROM eXtended Architecture,唯讀光碟增強形架構)

CDRW(CD-Rewritable,可重復刻錄光碟)

CDSL: Consumer Digital Subscriber Line(消費者數字訂閱線路)

CE(Consumer Electronics,消費電子)

CEM(cube environment mapping,立方環境映射)

Center Processing Unit Utilization,**處理器佔用率

CEO(Chief Executive Officer,首席執行官)

CG(Computer Graphics,計算機生成圖像)

CGI(Common Gateway Interface,通用網關介面)

CHRP(Common Hardware Reference Platform,共用硬體平台,IBM為PowerPC制定的標准,可以兼容Mac OS, Windows NT, Solaris, OS/2, Linux和AIX等多種操作系統)

CIEA: Commercial Internet Exchange Association,商業網際網路交易協會

CIR(Committed Infomation Rate,約定信息速率)

CISC(Complex Instruction Set Computing,復雜指令集計算機)

CISC(Complex Instruction Set Computing,復雜指令集計算機)

CISC: Complex Instruction Set Computing(復雜指令結構)

Clipping(剪貼紋理)

CLK(Clock Cycle,時鍾周期)

Clock Synthesizer,時鍾合成器

CLV(Constant Linear Velocity,恆定線速度)

CMOS: Complementary Metal Oxide Semiconctor(互補金屬氧化物半導體)

CMOS: Complementary Metal Oxide Semiconctor,互補金屬氧化物半導體

CMOS: Complementary Metal Oxide Semiconctor,互補金屬氧化物半導體

COB(Cache on board,板上集成緩存)

COB(Cache on board,板上集成緩存)

COD(Cache on Die,晶元內集成緩存)

COD(Cache on Die,晶元內集成緩存)

COM: Component Object Model(組件對象模式)

COMDEX : Computer Distribution Exposition(計算機代理分銷業展覽會)

compressed textures(壓縮紋理)

Concurrent Command Engine,協作命令引擎

COO(Chief Organizer Officer,首席管理官)

CP: Ceramic Package(陶瓷封裝)

CPGA(Ceramic Pin Grid Array,陶瓷針型柵格陣列)

CPGA(Ceramic Pin Grid Array,陶瓷針型柵格陣列)

CPGA: Ceramic Pin Grid Array(陶瓷針腳網格陣列)

CPS: Certification Practice Statement(使用證明書)

CPU(Center Processing Unit,**處理器)

CPU: Centerl Processing Unit(**處理器)

CPU:Center Processing Unit,**處理器

CRC: Cyclical Rendancy Check(循環冗餘檢查)

CRT(Cathode Ray Tube,陰極射線管)

CS(Channel Separation,聲道分離)

CSE(Configuration Space Enable,可分配空間)

CSS(Common Command Set,通用指令集)

CSS: Cascading Style Sheets,層疊格式表

CTO(Chief Technology Officer,首席技術官)

CTS(Carpal Tunnel Sydrome,計算機腕管綜合症)

CTS(Clear to Send,清除發送)

CVS(Compute Visual Syndrome,計算機視覺綜合症)
DAC(Digital to Analog Converter,數模傳換器)
DAC: Dual Address Cycle, 雙重地址周期

DAE(digital Audio Extraction,數據音頻抓取)

Data Forwarding(數據前送)

DB: Deep Buffer(深度緩沖)

DB: Device Bay,設備插架

DBS-PC: Direct Broadcast Satellite PC(人造衛星直接廣播式PC)

DCD: Document Content Description for XML: XML文件內容描述

DCE: Data Circuit Terminal Equipment,數據通信設備

DCOM: Distributing Component Object Model,構造物體模塊

DCT: Display Compression Technology(顯示壓縮技術)

DDC:Display Data Channel,顯示數據通道

DDR SDRAM(Double Date Rate,雙數據率SDRAM)

DDSS II(Double Dynamic Suspension System II,第二代雙層動力懸吊系統)

DDSS(Double Dynamic Suspension System,雙懸浮動態減震系統)

DEC(Direct Etching Coatings,表面蝕刻塗層)

Decal(印花法,用於生成一些半透明效果,如:鮮血飛濺的場面)

Decode(指令解碼)

DES: Data Encryption Standard,數據加密標准

DFL(Dynamic Focus Lens,動態聚焦)

DFP(Digital Flat Panel,數字式平面顯示器)

DFS(Digital Flex Scan,數字伸縮掃描)

DFS: Dynamic Flat Shading(動態平面描影),可用作加速

DHCP: Dynamic Host Configuration Protocol,動態主機分配協議

DIB(Dual Independent Bus,雙獨立匯流排)

DIB: Dual Independent Bus(雙重獨立匯流排),包括L2cache匯流排和PTMM(Processer To Main Memory,CPU至主內存)匯流排

DIC: Digital Image Control(數字圖像控制)

Digital Multiscan II(數字式智能多頻追蹤)

DIL(al-in-line)

DIMM(Dual In-line Memory Moles,雙重內嵌式內存模塊)

DIR(Direct Rendering Infrastructure,基層直接渲染)

Directional Light,方向性光源

DiscWizard(磁碟控制軟體)

Dithering(抖動)

DLP(digital Light Processing,數字光處理)

DLS-2(Downloadable Sounds Level 2,第二代可下載音色)

DMA(Direct Memory Access,直接內存存取)

DME: Direct Memory Execute(直接內存執行)

DMF: Distribution Media Format

DMI(Desktop Management Interface,桌面管理介面)

DMT: Discrete Multi - Tone,不連續多基頻模式

DNA: Distributed Internet Application(分布式網際網路應用程序)

DNS(Domain Name System,域名系統)

DOCSIS(Data Over Cable Service Interface Specifications,線纜服務介面數據規格)

DOF(Depth of Field,多重境深)

DOSD: Digital On Screen Display(同屏數字化顯示)

Dot Pitch(點距)

dot texture blending(點型紋理混和)

Double Buffering(雙緩沖區)

DP: Dual Processing(雙處理器)

DPC(Desktop PC,桌面PC)

DPMS(Display Power Management Signalling,顯示能源管理信號)

DQL(Dynamic Quadrapole Lens,動態四極鏡)

DRAM(Dynamic Random Access Memory,動態隨機存儲器)

DRDRAM(Direct RAMbus DRAM,直接RAMbus內存)

DS3D(DirectSound 3D Streams)

DSD(Direct Stream Digital,直接數字信號流)

DSL(Down Loadable Sample,可下載的取樣音色)

DSL: Data Strobe Link,數據選通連接

DSP(Digital Signal Processing,數字信號處理)

DST(Drive Self Test,磁碟自檢程序)

DTD: Document Type Definition,文件類型定義

DTE: Data Terminal Equipment,數據終端設備

DVD(Digital Video Disk,數字視頻光碟)

DVI(Digital Video Interface,數字視頻介面)

DX: 指包含數學協處理器的CPU ECC: Error Check Correct(錯誤檢查糾正)

DxR: DynamicXTended Resolution(動態可擴展解析度)

DXTC(Direct X Texture Compress,DirectX紋理壓縮,以S3TC為基礎)

Dynamic Z-buffering(動態Z軸緩沖區),顯示物體遠近,可用作遠景
EAX(Environmental Audio Extensions,環境音效擴展技術)
EB(Expansion Bus,擴展匯流排)

EBR(Excess Burst Rate,超額突發速率)

EC(Embedded Controller,嵌入式控制器)

EC(Embedded Controller,微型控制器)

ECC(Error Checking and Correction,錯誤檢查修正)

ECC: Elliptic Curve Crypto(橢圓曲線加密)

ECRS: Entry Call Return Stack(回叫堆棧),代替RAM存儲返回地址.

E-DDC(Enhanced Display Data Channel,增強形視頻數據通道協議,定義了顯示輸出與主系統之間的通訊通道,能提高顯示輸出的畫面質量)

Edge Anti-aliasing,邊緣抗鋸齒失真

E-EDID(Enhanced Extended Identification Data,增強形擴充身份辨識數據,定義了電腦通訊視頻主系統的數據格式)

EEPROM(Electrically Erasable Programmable ROM,電擦寫可編程只讀存儲器)

EFEAL(Extended Field Elliptical Aperture Lens,可擴展掃描橢圓孔鏡頭)

EIDE(enhanced Integrated Drive Electronics,增強形電子集成驅動器)

EISA(Enhanced Instry Standard Architecture,增強形工業標准架構)

Embedded Chips(嵌入式)

EMI(Electromagnetic Interference,電磁干擾)

EMP: Emergency Management Port,緊急事件管理埠

environment mapped bump mapping(環境凹凸映射)

EPIC(explicitly parallel instruction code,並行指令代碼)

EPIC: Explicitly Parallel Instruction Computing(清晰平行指令計算),是一 個64位指令集

ERP(estimated retail price,估計零售價)

ERP: Enterprise Requirement Planning,企業需求計劃

ES(Energy Star,能源之星)

ESCD(Extended System Configuration Data,可擴展系統配置數據)

ESDJ(Easy Setting Dual Jumper,簡化CPU雙重跳線法)浩鑫

ESP: Encapsulating Security Payload,壓縮安全有效載荷

Execute Buffers,執行緩沖區

Extended Burst Transactions,增強式突發處理

Extended Stereo(擴展式立體聲)
FADD(Floationg Point Addition,浮點加)
FAQ: Frequently Asked Questions(常見問題回答)

FAT(File Allocation Tables,文件分配表)

FBC(Frame Buffer Cache,幀緩沖緩存)

FCPGA(Flip Chip Pin Grid Array,反轉晶元針腳柵格陣列)

FDBM(Fluid dynamic bearing motors,液態軸承馬達)

FDC(Floppy Disk Controller,軟盤驅動器控制裝置)

FDD(Floppy Disk Driver,軟盤驅動器)

FDIV(Floationg Point Divide,浮點除)

FDM: Frequency Division Multi,頻率分離

FEMMS:Fast Entry/Exit Multimedia State,快速進入/退出多媒體狀態

FEMMS:Fast Entry/Exit Multimedia State,快速進入/退出多媒體狀態

FFT(fast Fourier transform,快速熱歐姆轉換)

FID(FID:Frequency identify,頻率鑒別號碼)

FIFO(First Input First Output,先入先出隊列)

FIFO:First Input First Output,先入先出隊列

FIR(finite impulse response,有限推進響應)

FireWire(火線,即IEEE1394標准)

Flat(平面描影)

flip double buffered(反轉雙緩存)

flip-chip(晶元反轉)

FLOP(Floating Point Operations Per Second,浮點操作/秒)

Flow-control流控制

FM(Frequency Molation,頻率調制)

FM: Flash Memory(快閃記憶體)

FMD ROM (Fluorescent Material Read Only Memory,熒光質只讀存儲器)

FMUL(Floationg Point Multiplication,浮點乘)

fog table quality(霧化表畫質)

Fog(霧化效果)

FPU(Float Point Unit,浮點運算單元)

FPU: Floating-point Processing Unit(浮點處理單元)

FPU:Float Point Unit,浮點運算單元

FR(Frequence Response,頻率響應)

Frames rate is King(幀數為王)

FRC: Frame Rate Control(幀比率控制)

FRC: Functional Rendancy Checking (冗餘功能檢查,雙處理器才有這項特性)

FRICC: Federal Research Internet Coordinating Committee,聯邦調查網際網路協調委員會

Front Buffer,前置緩沖

FSAA(Full Scene Anti-aliasing,全景抗鋸齒)

FSB: Front Side Bus,前置匯流排,即外部匯流排

FSE(Frequency Shifter Effect,頻率轉換效果)

FSUB(Floationg Point Subtraction,浮點減)

FTP(File Transfer Protocol,文件傳輸協議)

FWH( Firmware Hub,固件中心)
GART(Graphic Address Remappng Table,圖形地址重繪表)
GDI(Graphics Device Interface,圖形設備介面)

Ghost:(General Hardware Oriented System Transfer,全面硬體導向系統轉移)

Gigabyte

GMCH(Graphics & Memory Controller Hub,圖形和內存控制中心)

GMR(giant magnetoresistive,巨型磁阻)

Gouraud Shading,高洛德描影,也稱為內插法均勻塗色

GPF(General protect fault,一般保護性錯誤)

GPIs(General Purpose Inputs,普通操作輸入)

GPS(Global Positioning System,全球定位系統)

GPU(Graphics Processing Unit,圖形處理器)

GTF(Generalized Timing Formula,一般程序時間,定義了產生畫面所需要的時間,包括了諸如畫面刷新率等)

GUI(Graphics User Interface,圖形用戶界面)

GVPP(Generic Visual Perception Processor,常規視覺處理器)
HAL(Hardware Abstraction Layer,硬體抽像化層)
hardware motion compensation(硬體運動補償)

HCI: Host Controller Interface,主機控制介面

HCT:Hardware Compatibility Test,硬體兼容性測試

HDA(head disk assembly,磁頭集合)

HDSL: High bit rate DSL,高比特率數字訂閱線路

HDTV(high definition television,高清晰度電視)

HEL: Hardware Emulation Layer(硬體模擬層)

HiFD(high-capacity floppy disk,高容量軟盤)

high triangle count(復雜三角形計數)

HL-PBGA: 表面黏著,高耐熱、輕薄型塑膠球狀矩陣封裝

HL-PBGA: 表面黏著,高耐熱、輕薄型塑膠球狀矩陣封裝

HPS(High Performance Server,高性能伺服器)

HPW(High Performance Workstation,高性能工作站)

HRTF(Head Related Transfer Function,頭部關聯傳輸功能)

HTA: HyperText Application,超文本應用程序

HTML(HyperText Markup Language,超文本標記語言)

HTTP(HyperText Transfer Protocol,超文本傳輸協議)

HVD(High Voltage Differential,高分差動)
/O(Input/Output,輸入/輸出)
I/ Input/Output(輸入/輸出)

IA(Intel Architecture,英特爾架構)

IA: Intel Architecture(英特爾架構)

IA:Intel Architecture,英特爾架構

IAB: Internet Activities Board,網際網路工作委員會

ICD(Installable Client Driver,可安裝客戶端驅動程序)

ICH(Input/Output Controller Hub,輸入/輸出控制中心)

ICMB: Inter-Chassis Management Bus, 內部管理匯流排

ICMP(Internet Control Message Protocol,網際網路信息控制協議)

ICU(Instruction Control Unit,指令控制單元)

ID:identify,鑒別號碼

ID:identify,鑒別號碼

IDCT(Inverse Discrete Cosine Transform,非連續反餘弦變換,GeForce的DVD硬體強化技術)

IDE(Integrated Drive Electronics,電子集成驅動器)

IDF(Intel Developer Forum,英特爾開發者論壇)

IETF(Internet Engineering Task Framework,網際網路工程任務組)

IETF: Internet Engineering Task Force,網際網路工程作業推動

IEU(Integer Execution Units,整數執行單元)

IHVs:Independent Hardware Vendors,獨立硬體購買者

IID(Interaural Intensity Difference,兩側聲音強度差別)

IIR(infinite impulse response,無限推進響應)

IKE: Internet Key Exchange,網際網路密鑰交換協議

IMAP4: Internet Message Access Protocol Version 4,第四版網際網路信息存取協議

IMM: Intel Mobile Mole, 英特爾移動模塊

IMM: Intel Mobile Mole, 英特爾移動模塊

Immediate Mode,直接模式

INF File(Information File,信息文件)

INI File(Initialization File,初始化文件)

Instruction Coloring(指令分類)

Instructions Cache,指令緩存

Interactive 3D Audio(互動式3D音效)

Interactive Around-Sound(互動式環繞聲)

Internet(網際網路)

IP(Internet Protocol,網際協議)

IPC(Instructions Per Clock Cycle,指令/時鍾周期)

IPPR: Image Processing and Pattern Recognition(圖像處理和模式識別)

IR(infrared ray,紅外線)

IrDA(infrared ray,紅外線通信介面可進行區域網存取和文件共享)

IRQ(Interrupt Request,中斷請求)

IS: Internal Stack(內置堆棧)

ISA(instruction set architecture,工業設置架構)

ISA(instruction set architecture,指令集架構)

ISA: Instry Standard Architecture,工業標准架構

ISDN(Integrated Service Digital Network,綜合服務數字網路)

ISO/MPEG: International Standard Organization's Moving Picture Expert Group(國際標准化組織的活動圖片專家組)

ISOC: Internet Society,網際網路協會

ISP(Internet Service Provider,網際網路服務提供商)

ISVs:Independent Software Vendors,獨立軟體購買者

ITD(Interaural Time Difference,兩側聲音時間延遲差別)
JIT: Just In Time,准時制生產
JVM: java Virtual Machine, Java虛擬機 KBC(KeyBroad Control,鍵盤控制器)
基本上常用的都在這里了,自己找想知道的~~~

2. 求ECDSA的Java代碼

【方案1】

package ECDSA;

import com.sun.org.apache.xerces.internal.impl.dv.util.HexBin;

import java.security.*;

import java.security.interfaces.ECPrivateKey;

import java.security.interfaces.ECPublicKey;

import java.security.spec.PKCS8EncodedKeySpec;

import java.security.spec.X509EncodedKeySpec;


public class Ecdsa {

private static String src = "hello berber" ;

public static void main(String []args){

jdkECDSA();

}

public static void jdkECDSA(){

// 1.初始化密鑰

try{

KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("EC");

keyPairGenerator.initialize(256);

KeyPair keyPair = keyPairGenerator.generateKeyPair() ;

ECPublicKey ecPublicKey = (ECPublicKey)keyPair.getPublic() ;

ECPrivateKey ecPrivateKey = (ECPrivateKey)keyPair.getPrivate() ;

// 執行簽名

PKCS8EncodedKeySpec pkcs8EncodedKeySpec = new PKCS8EncodedKeySpec(ecPrivateKey.getEncoded());

KeyFactory keyFactory = KeyFactory.getInstance("EC") ;

PrivateKey privateKey = keyFactory.generatePrivate(pkcs8EncodedKeySpec) ;

Signature signature = Signature.getInstance("SHA1withECDSA");

signature.initSign(privateKey);

signature.update(src.getBytes());

byte []arr = signature.sign();

System.out.println("jdk ecdsa sign :"+ HexBin.encode(arr));

// 驗證簽名

X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(ecPublicKey.getEncoded());

keyFactory = KeyFactory.getInstance("EC");

PublicKey publicKey = keyFactory.generatePublic(x509EncodedKeySpec);

signature = Signature.getInstance("SHA1withECDSA");

signature.initVerify(publicKey);

signature.update(src.getBytes());

boolean bool = signature.verify(arr);

System.out.println("jdk ecdsa verify:"+bool);

}catch(Exception e){


}

}

}

Java數字簽名——ECDSA演算法

【方案2】

public class MyTest {

/**
* @param args
*/
public static void main(String[] args) {
new MyTest().getSign();
}

void getSign() {
// Get the instance of the Key Generator with "EC" algorithm

try {
KeyPairGenerator g = KeyPairGenerator.getInstance("EC");
ECGenParameterSpec kpgparams = new ECGenParameterSpec("secp256r1");
g.initialize(kpgparams);

KeyPair pair = g.generateKeyPair();
// Instance of signature class with SHA256withECDSA algorithm
Signature ecdsaSign = Signature.getInstance("SHA256withECDSA");
ecdsaSign.initSign(pair.getPrivate());

System.out.println("Private Keys is::" + pair.getPrivate());
System.out.println("Public Keys is::" + pair.getPublic());

String msg = "text ecdsa with sha256";//getSHA256(msg)
ecdsaSign.update((msg + pair.getPrivate().toString())
.getBytes("UTF-8"));

byte[] signature = ecdsaSign.sign();
System.out.println("Signature is::"
+ new BigInteger(1, signature).toString(16));

// Validation
ecdsaSign.initVerify(pair.getPublic());
ecdsaSign.update(signature);
if (ecdsaSign.verify(signature))
System.out.println("valid");
else
System.out.println("invalid!!!!");

} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}

}}
java – 使用secp256r1曲線和SHA256演算法生


怎麼驗證生成的Ecdsa簽名是正確的呢,可以看下這篇文章:RSA,ECC,Ecdsa,國密SM2的簽名,驗簽,加密

3. 求幫助!!Internal error ! ErrorMessage:java.lang.IllegalArgumentException <<<<<<<... 求幫助!!

參數不合法 估計是你方法傳參有問題,查看這行:at com.ecc.emp.web.servlet.CookieLocaleResolver.resolveLocale(CookieLocaleResolver.java:48) at com.ecc.emp.web.servlet.EMPRequestServlet.service(EMPRequestServlet.java:426) at

4. 非對稱加密演算法 (RSA、DSA、ECC、DH)

非對稱加密需要兩個密鑰:公鑰(publickey) 和私鑰 (privatekey)。公鑰和私鑰是一對,如果用公鑰對數據加密,那麼只能用對應的私鑰解密。如果用私鑰對數據加密,只能用對應的公鑰進行解密。因為加密和解密用的是不同的密鑰,所以稱為非對稱加密。

非對稱加密演算法的保密性好,它消除了最終用戶交換密鑰的需要。但是加解密速度要遠遠慢於對稱加密,在某些極端情況下,甚至能比對稱加密慢上1000倍。

演算法強度復雜、安全性依賴於演算法與密鑰但是由於其演算法復雜,而使得加密解密速度沒有對稱加密解密的速度快。對稱密碼體制中只有一種密鑰,並且是非公開的,如果要解密就得讓對方知道密鑰。所以保證其安全性就是保證密鑰的安全,而非對稱密鑰體制有兩種密鑰,其中一個是公開的,這樣就可以不需要像對稱密碼那樣傳輸對方的密鑰了。這樣安全性就大了很多。

RSA、Elgamal、背包演算法、Rabin、D-H、ECC (橢圓曲線加密演算法)。使用最廣泛的是 RSA 演算法,Elgamal 是另一種常用的非對稱加密演算法。

收信者是唯一能夠解開加密信息的人,因此收信者手裡的必須是私鑰。發信者手裡的是公鑰,其它人知道公鑰沒有關系,因為其它人發來的信息對收信者沒有意義。

客戶端需要將認證標識傳送給伺服器,此認證標識 (可能是一個隨機數) 其它客戶端可以知道,因此需要用私鑰加密,客戶端保存的是私鑰。伺服器端保存的是公鑰,其它伺服器知道公鑰沒有關系,因為客戶端不需要登錄其它伺服器。

數字簽名是為了表明信息沒有受到偽造,確實是信息擁有者發出來的,附在信息原文的後面。就像手寫的簽名一樣,具有不可抵賴性和簡潔性。

簡潔性:對信息原文做哈希運算,得到消息摘要,信息越短加密的耗時越少。

不可抵賴性:信息擁有者要保證簽名的唯一性,必須是唯一能夠加密消息摘要的人,因此必須用私鑰加密 (就像字跡他人無法學會一樣),得到簽名。如果用公鑰,那每個人都可以偽造簽名了。

問題起源:對1和3,發信者怎麼知道從網上獲取的公鑰就是真的?沒有遭受中間人攻擊?

這樣就需要第三方機構來保證公鑰的合法性,這個第三方機構就是 CA (Certificate Authority),證書中心。

CA 用自己的私鑰對信息原文所有者發布的公鑰和相關信息進行加密,得出的內容就是數字證書。

信息原文的所有者以後發布信息時,除了帶上自己的簽名,還帶上數字證書,就可以保證信息不被篡改了。信息的接收者先用 CA給的公鑰解出信息所有者的公鑰,這樣可以保證信息所有者的公鑰是真正的公鑰,然後就能通過該公鑰證明數字簽名是否真實了。

RSA 是目前最有影響力的公鑰加密演算法,該演算法基於一個十分簡單的數論事實:將兩個大素數相乘十分容易,但想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰,即公鑰,而兩個大素數組合成私鑰。公鑰是可發布的供任何人使用,私鑰則為自己所有,供解密之用。

A 要把信息發給 B 為例,確定角色:A 為加密者,B 為解密者。首先由 B 隨機確定一個 KEY,稱之為私鑰,將這個 KEY 始終保存在機器 B 中而不發出來;然後,由這個 KEY 計算出另一個 KEY,稱之為公鑰。這個公鑰的特性是幾乎不可能通過它自身計算出生成它的私鑰。接下來通過網路把這個公鑰傳給 A,A 收到公鑰後,利用公鑰對信息加密,並把密文通過網路發送到 B,最後 B 利用已知的私鑰,就能對密文進行解碼了。以上就是 RSA 演算法的工作流程。

由於進行的都是大數計算,使得 RSA 最快的情況也比 DES 慢上好幾倍,無論是軟體還是硬體實現。速度一直是 RSA 的缺陷。一般來說只用於少量數據加密。RSA 的速度是對應同樣安全級別的對稱密碼演算法的1/1000左右。

比起 DES 和其它對稱演算法來說,RSA 要慢得多。實際上一般使用一種對稱演算法來加密信息,然後用 RSA 來加密比較短的公鑰,然後將用 RSA 加密的公鑰和用對稱演算法加密的消息發送給接收方。

這樣一來對隨機數的要求就更高了,尤其對產生對稱密碼的要求非常高,否則的話可以越過 RSA 來直接攻擊對稱密碼。

和其它加密過程一樣,對 RSA 來說分配公鑰的過程是非常重要的。分配公鑰的過程必須能夠抵擋中間人攻擊。假設 A 交給 B 一個公鑰,並使 B 相信這是A 的公鑰,並且 C 可以截下 A 和 B 之間的信息傳遞,那麼 C 可以將自己的公鑰傳給 B,B 以為這是 A 的公鑰。C 可以將所有 B 傳遞給 A 的消息截下來,將這個消息用自己的密鑰解密,讀這個消息,然後將這個消息再用 A 的公鑰加密後傳給 A。理論上 A 和 B 都不會發現 C 在偷聽它們的消息,今天人們一般用數字認證來防止這樣的攻擊。

(1) 針對 RSA 最流行的攻擊一般是基於大數因數分解。1999年,RSA-155 (512 bits) 被成功分解,花了五個月時間(約8000 MIPS 年)和224 CPU hours 在一台有3.2G 中央內存的 Cray C916計算機上完成。

RSA-158 表示如下:

2009年12月12日,編號為 RSA-768 (768 bits, 232 digits) 數也被成功分解。這一事件威脅了現通行的1024-bit 密鑰的安全性,普遍認為用戶應盡快升級到2048-bit 或以上。

RSA-768表示如下:

(2) 秀爾演算法
量子計算里的秀爾演算法能使窮舉的效率大大的提高。由於 RSA 演算法是基於大數分解 (無法抵抗窮舉攻擊),因此在未來量子計算能對 RSA 演算法構成較大的威脅。一個擁有 N 量子位的量子計算機,每次可進行2^N 次運算,理論上講,密鑰為1024位長的 RSA 演算法,用一台512量子比特位的量子計算機在1秒內即可破解。

DSA (Digital Signature Algorithm) 是 Schnorr 和 ElGamal 簽名演算法的變種,被美國 NIST 作為 DSS (DigitalSignature Standard)。 DSA 是基於整數有限域離散對數難題的。

簡單的說,這是一種更高級的驗證方式,用作數字簽名。不單單只有公鑰、私鑰,還有數字簽名。私鑰加密生成數字簽名,公鑰驗證數據及簽名,如果數據和簽名不匹配則認為驗證失敗。數字簽名的作用就是校驗數據在傳輸過程中不被修改,數字簽名,是單向加密的升級。

橢圓加密演算法(ECC)是一種公鑰加密演算法,最初由 Koblitz 和 Miller 兩人於1985年提出,其數學基礎是利用橢圓曲線上的有理點構成 Abel 加法群上橢圓離散對數的計算困難性。公鑰密碼體制根據其所依據的難題一般分為三類:大整數分解問題類、離散對數問題類、橢圓曲線類。有時也把橢圓曲線類歸為離散對數類。

ECC 的主要優勢是在某些情況下它比其他的方法使用更小的密鑰 (比如 RSA),提供相當的或更高等級的安全。ECC 的另一個優勢是可以定義群之間的雙線性映射,基於 Weil 對或是 Tate 對;雙線性映射已經在密碼學中發現了大量的應用,例如基於身份的加密。不過一個缺點是加密和解密操作的實現比其他機制花費的時間長。

ECC 被廣泛認為是在給定密鑰長度的情況下,最強大的非對稱演算法,因此在對帶寬要求十分緊的連接中會十分有用。

比特幣錢包公鑰的生成使用了橢圓曲線演算法,通過橢圓曲線乘法可以從私鑰計算得到公鑰, 這是不可逆轉的過程。

https://github.com/esxgx/easy-ecc

Java 中 Chipher、Signature、KeyPairGenerator、KeyAgreement、SecretKey 均不支持 ECC 演算法。

https://www.jianshu.com/p/58c1750c6f22

DH,全稱為"Diffie-Hellman",它是一種確保共享 KEY 安全穿越不安全網路的方法,也就是常說的密鑰一致協議。由公開密鑰密碼體制的奠基人 Diffie 和 Hellman 所提出的一種思想。簡單的說就是允許兩名用戶在公開媒體上交換信息以生成"一致"的、可以共享的密鑰。也就是由甲方產出一對密鑰 (公鑰、私鑰),乙方依照甲方公鑰產生乙方密鑰對 (公鑰、私鑰)。

以此為基線,作為數據傳輸保密基礎,同時雙方使用同一種對稱加密演算法構建本地密鑰 (SecretKey) 對數據加密。這樣,在互通了本地密鑰 (SecretKey) 演算法後,甲乙雙方公開自己的公鑰,使用對方的公鑰和剛才產生的私鑰加密數據,同時可以使用對方的公鑰和自己的私鑰對數據解密。不單單是甲乙雙方兩方,可以擴展為多方共享數據通訊,這樣就完成了網路交互數據的安全通訊。

具體例子可以移步到這篇文章: 非對稱密碼之DH密鑰交換演算法

參考:
https://blog.csdn.net/u014294681/article/details/86705999

https://www.cnblogs.com/wangzxblog/p/13667634.html

https://www.cnblogs.com/taoxw/p/15837729.html

https://www.cnblogs.com/fangfan/p/4086662.html

https://www.cnblogs.com/utank/p/7877761.html

https://blog.csdn.net/m0_59133441/article/details/122686815

https://www.cnblogs.com/muliu/p/10875633.html

https://www.cnblogs.com/wf-zhang/p/14923279.html

https://www.jianshu.com/p/7a927db713e4

https://blog.csdn.net/ljx1400052550/article/details/79587133

https://blog.csdn.net/yuanjian0814/article/details/109815473

熱點內容
演算法牛人左 發布:2025-02-05 15:31:02 瀏覽:438
php篩選功能 發布:2025-02-05 15:29:09 瀏覽:165
ip匹配伺服器 發布:2025-02-05 15:10:35 瀏覽:909
php語法後 發布:2025-02-05 15:10:34 瀏覽:59
oppor9s怎麼壓縮文件 發布:2025-02-05 15:00:34 瀏覽:639
蘋果耳塞怎麼改安卓也能用 發布:2025-02-05 14:50:54 瀏覽:558
安卓如何鑒別手機真假 發布:2025-02-05 14:28:15 瀏覽:121
ffmpeglinux編譯 發布:2025-02-05 14:28:04 瀏覽:545
伺服器如何做界面 發布:2025-02-05 14:27:23 瀏覽:291
訪問學者單位推薦意見 發布:2025-02-05 14:13:05 瀏覽:854