CryptoAPI. Labs. Daniil Leksin
|
|
|
- Muriel Francis
- 10 years ago
- Views:
Transcription
1 CryptoAPI Labs Daniil Leksin
2 Structure CryptoAPI CSP (Cryptography Service Provider) CA Working with CryptoAPI, CSP, CA: algorithms, block-schemes and examples
3 CryptoAPI CryptoAPI (Cryptographic Application Programming Interface, Microsoft Cryptography API, MS-CAPI or simply CAPI) is an application programming interface included with Microsoft Windows operating systems that provides services to enable developers to secure Windows-based applications using cryptography. It is a set of dynamically linked libraries that provides an abstraction layer which isolates programmers from the code used to encrypt the data. (CryptoAPI supports both public-key and symmetric key cryptography) CAPI provides: 1. Secure data storing 2. Ability to transfer data 3. Validation from 3 rd party users 4. Work with EDS 5. Work with cryptographic standards 6. Extension CAPI functionality groups: 1. Basic cryptographic functions: 1.1 encoding / decoding 1.2 hash function, EDS 1.3 initializing CSP, working with context 1.4 key generation 1.5 key exchanging 2. Functions for working with certificates 3. High-level functions 4. Low-level functions
4 CSP CSP (Cryptography Service Provider) - is a software library that implements the Microsoft CryptoAPI (CAPI). CSPs implement encoding and decoding functions, which computer application programs may use. CSP provides: 1. implementation of the standard interface 2. work with encode / decode keys 3. inability to interference from third parties 2 function groups for working with CSP: 1. initialization of the context and getting CSP parameters 2. Key generation and function for work with them 3. encode / decode functions 4. Hash functions and getting EDS
5 CAPI & CSP & Apps CSP 1 CSP 2 CSP 3 OS Windows with CAPI Application 1 Application 2 Application 3
6 Find CSP on current machine HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\
7 CryptEnumProviderTypes( dwindex, 0, &dwtype, &cbname) enum.cpp _tprintf (TEXT(" %4.0d %s\n"), dwtype, pszname); The CryptEnumProviderTypes function retrieves the first or next types of cryptographic service provider (CSP) supported on the computer. Used in a loop, this function retrieves in sequence all of the CSP types available on a computer. BOOL WINAPI CryptEnumProviderTypes( _In_ DWORD dwindex, _In_ DWORD *pdwreserved, _In_ DWORD dwflags, _Out_ DWORD *pdwprovtype, _Out_ LPTSTR psztypename, _Inout_ DWORD ); *pcbtypename
8 CryptEnumProviders( dwindex++, 0, &dwtype, &cbname) enum.cpp _tprintf (TEXT(" %4.0d %s\n"), dwtype, pszname); The CryptEnumProviders function retrieves the first or next available cryptographic service providers (CSPs). Used in a loop, this function can retrieve in sequence all of the CSPs available on a computer. BOOL WINAPI CryptEnumProviders( _In_ DWORD dwindex, _In_ DWORD *pdwreserved, _In_ DWORD dwflags, _Out_ DWORD *pdwprovtype, _Out_ LPTSTR pszprovname, _Inout_ DWORD ); *pcbprovname
9 CryptGetDefaultProvider( PROV_RSA_FULL, CRYPT_MACHINE_DEFAULT, pbprovname, &cbprovname)) _tprintf(text("\nthe default provider name is \"%s\"\n"), pbprovname); enum.cpp The CryptGetDefaultProvider function finds the default cryptographic service provider (CSP) of a specified provider type for the local computer or current user. The name of the default CSP for the provider type specified in the dwprovtype parameter is returned in the pszprovname buffer. BOOL WINAPI CryptGetDefaultProvider( _In_ DWORD dwprovtype, _In_ DWORD *pdwreserved, _In_ DWORD dwflags, _Out_ LPTSTR pszprovname, _Inout_ DWORD *pcbprovname );
10 enum.cpp CryptAcquireContext( &hprov, PROV_RSA_FULL, NULL) CryptAcquireContext( &hprov, PROV_RSA_FULL, CRYPT_NEWKEYSET) The CryptAcquireContext function is used to acquire a handle to a particular key container within a particular cryptographic service provider (CSP). This returned handle is used in calls to CryptoAPI functions that use the selected CSP. BOOL WINAPI CryptAcquireContext( _Out_ HCRYPTPROV *phprov, _In_ LPCTSTR pszcontainer, _In_ LPCTSTR pszprovider, _In_ DWORD dwprovtype, _In_ DWORD dwflags ); phprov [out] A pointer to a handle of a CSP. CRYPT_NEWKEYSET Creates a new key container with the name specified by pszcontainer. If pszcontainer is a key container with the default name is created.
11 enum.cpp CryptGetProvParam( hprov, PP_ENUMALGS, pbdata, &cbdata, dwflags) BOOL WINAPI CryptGetProvParam( _In_ HCRYPTPROV hprov, _In_ DWORD dwparam, _Out_ BYTE *pbdata, _Inout_ DWORD *pdwdatalen, _In_ DWORD dwflags ); typedef struct _PROV_ENUMALGS ALG_ID aialgid; DWORD dwbitlen; DWORD dwnamelen; CHAR szname[20]; PROV_ENUMALGS; The CryptGetProvParam function retrieves parameters that govern the operations of a cryptographic service provider A PROV_ENUMALGS structure that contains information about one algorithm supported by the CSP being queried. The first time this value is read, the dwflags parameter must contain the CRYPT_FIRST flag. Doing so causes this function to retrieve the first element in the enumeration. The subsequent elements can then be retrieved by setting the CRYPT_NEXT flag in the dwflags parameter. When this function fails with the ERROR_NO_MORE_ITEMS error code, the end of the enumeration has been reached.
12 enum.cpp // Extract algorithm information from the pbdata buffer. dwflags = 0; ptr = pbdata; aialgid = *(ALG_ID *)ptr; ptr += sizeof(alg_id); dwbits = *(DWORD *)ptr; ptr += dwincrement; dwnamelen = *(DWORD *)ptr; ptr += dwincrement; strncpy(szname,(char *) ptr, dwnamelen); // Determine the algorithm type. switch(get_alg_class(aialgid)) case ALG_CLASS_DATA_ENCRYPT: pszalgtype = "Encrypt "; break; case ALG_CLASS_HASH: pszalgtype = "Hash "; break; case ALG_CLASS_KEY_EXCHANGE: pszalgtype = "Exchange "; break; case ALG_CLASS_SIGNATURE: pszalgtype = "Signature"; break; default: pszalgtype = "Unknown "; break; // Print information about the algorithm. printf(" %8.8xh %-4d %s %-2d %s\n", aialgid, dwbits, pszalgtype, dwnamelen, szname);
13 enum.cpp
14 c1.cpp // Define the name of the store where the needed certificate // can be found. // The message to be signed // Size of message. Note that the length set is one more than the // length returned by the strlen function in order to include // the NULL string termination character. // Pointer to a signer certificate // Create the MessageArray and the MessageSizeArray. // Begin processing. Display the original message. // Open a certificate store. // Get a pointer to the signer's certificate. // Initialize the signature structure. // With two calls to CryptSignMessage, sign the message. // First, get the size of the output signed BLOB. // Second, Get the SignedMessageBlob. // Verify the message signature. // With two calls to CryptVerifyMessageSignature, verify and // decode the signed message. // First, call CryptVerifyMessageSignature to get the length // of the buffer needed to hold the decoded message. // Allocate memory for the buffer. step1 step2 step3 step4 step5
15 step1 // Define the name of the store where the needed certificate // can be found. #define CERT_STORE_NAME L"labak_cert_store" step2 // The message to be signed // Size of message. Note that the length set is one more than the // length returned by the strlen function in order to include // the NULL string termination character. // Pointer to a signer certificate // Create the MessageArray and the MessageSizeArray. BYTE* pbmessage = (BYTE*)"CryptoAPI is a good way to handle security"; // DWORD cbmessage = strlen((char*) pbmessage)+1; // PCCERT_CONTEXT psignercert; // CRYPT_SIGN_MESSAGE_PARA SigParams; DWORD cbsignedmessageblob; BYTE *pbsignedmessageblob; DWORD cbdecodedmessageblob; BYTE *pbdecodedmessageblob; CRYPT_VERIFY_MESSAGE_PARA VerifyParams; // const BYTE* MessageArray[] = pbmessage; DWORD MessageSizeArray[1]; MessageSizeArray[0] = cbmessage;
16 step3 if (!( hstorehandle = CertOpenStore( CERT_STORE_PROV_SYSTEM, 0, CERT_SYSTEM_STORE_CURRENT_USER, CERT_STORE_NAME))) MyHandleError("The MY store could not be opened."); if(psignercert = CertFindCertificateInStore( hstorehandle, MY_TYPE, 0, CERT_FIND_SUBJECT_STR, SIGNER_NAME, NULL)) printf("the signer's certificate was found.\n"); else MyHandleError( "Signer certificate not found."); // Begin processing. Display the original message. // Open a certificate store. // Get a pointer to the signer's certificate. // Initialize the signature structure. The CertOpenStore function opens a certificate store by using a specified store provider type. While this function can open a certificate store for most purposes. HCERTSTORE WINAPI CertOpenStore( _In_ LPCSTR lpszstoreprovider, _In_ DWORD dwmsgandcertencodingtype, _In_ HCRYPTPROV_LEGACY hcryptprov, _In_ DWORD dwflags, _In_ const void *pvpara ); This function finds the first or next certificate context in a certificate store that matches search criteria established by the dwfindtype parameter and its associated pvfindpara parameter. PCCERT_CONTEXT WINAPI CertFindCertificateInStore( HCERTSTORE hcertstore, DWORD dwcertencodingtype, DWORD dwfindflags, DWORD dwfindtype, const void* pvfindpara, PCCERT_CONTEXT pprevcertcontext );
17 SigParams.cbSize = sizeof(crypt_sign_message_para); SigParams.dwMsgEncodingType = MY_TYPE; SigParams.pSigningCert = psignercert; SigParams.HashAlgorithm.pszObjId = szoid_rsa_md5; SigParams.HashAlgorithm.Parameters.cbData = NULL; SigParams.cMsgCert = 1; SigParams.rgpMsgCert = &psignercert; SigParams.cAuthAttr = 0; SigParams.dwInnerContentType = 0; SigParams.cMsgCrl = 0; SigParams.cUnauthAttr = 0; SigParams.dwFlags = 0; SigParams.pvHashAuxInfo = NULL; SigParams.rgAuthAttr = NULL; typedef struct _CRYPT_SIGN_MESSAGE_PARA DWORD cbsize; DWORD dwmsgencodingtype; PCCERT_CONTEXT psigningcert; CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; void *pvhashauxinfo; DWORD cmsgcert; PCCERT_CONTEXT *rgpmsgcert; DWORD cmsgcrl; PCCRL_CONTEXT *rgpmsgcrl; DWORD cauthattr; PCRYPT_ATTRIBUTE rgauthattr; DWORD cunauthattr; PCRYPT_ATTRIBUTE rgunauthattr; DWORD dwflags; DWORD dwinnercontenttype; CRYPT_ALGORITHM_IDENTIFIER HashEncryptionAlgorithm; void pvhashencryptionauxinfo; CRYPT_SIGN_MESSAGE_PARA, *PCRYPT_SIGN_MESSAGE_PARA;
18 step4 // With two calls to CryptSignMessage, sign the message. // First, get the size of the output signed BLOB. // Second, Get the SignedMessageBlob. if(cryptsignmessage( &SigParams, FALSE, 1, MessageArray, MessageSizeArray, &cbsignedmessageblob)) printf("the size of the BLOB is %d.\n",cbsignedmessageblob); else MyHandleError("Getting signed BLOB size failed"); if(cryptsignmessage( &SigParams, FALSE, 1, MessageArray, MessageSizeArray, pbsignedmessageblob, &cbsignedmessageblob)) printf("the message was signed successfully. \n"); else MyHandleError("Error getting signed BLOB"); if(!(pbsignedmessageblob = (BYTE*)malloc(cbSignedMessageBlob))) MyHandleError("Memory allocation error while signing."); The CryptSignMessage function creates a hash of the specified content, signs the hash, and then encodes both the original message content and the signed hash.
19 step5 // Verify the message signature. // With two calls to CryptVerifyMessageSignature, verify and // decode the signed message. // First, call CryptVerifyMessageSignature to get the length // of the buffer needed to hold the decoded message. // Allocate memory for the buffer. VerifyParams.cbSize = sizeof(crypt_verify_message_para); VerifyParams.dwMsgAndCertEncodingType = MY_TYPE; VerifyParams.hCryptProv = 0; VerifyParams.pfnGetSignerCertificate = NULL; VerifyParams.pvGetArg = NULL; typedef struct _CRYPT_VERIFY_MESSAGE_PARA DWORD cbsize; DWORD dwmsgandcertencodingtype; HCRYPTPROV_LEGACY hcryptprov; PFN_CRYPT_GET_SIGNER_CERTIFICATE pfngetsignercertificate; void *pvgetarg; PCCERT_STRONG_SIGN_PARA pstrongsignpara; CRYPT_VERIFY_MESSAGE_PARA, *PCRYPT_VERIFY_MESSAGE_PARA;
20 if(cryptverifymessagesignature( &VerifyParams, 0, pbsignedmessageblob, cbsignedmessageblob, &cbdecodedmessageblob, NULL)) printf("%d bytes need for the buffer.\n", cbdecodedmessageblob); else printf("verification message failed. \n"); if(cryptverifymessagesignature( &VerifyParams, 0, pbsignedmessageblob, cbsignedmessageblob, pbdecodedmessageblob &cbdecodedmessageblob, NULL)) printf("the verified message is \n-> %s \n", pbdecodedmessageblob); else printf("verification message failed. \n"); if(!(pbdecodedmessageblob = (BYTE*)malloc(cbDecodedMessageBlob))) MyHandleError("Memory allocation error allocating decode BLOB."); The CryptVerifyMessageSignature function verifies a signed message's signature.
FIPS 140-2 Documentation: Security Policy 05/06/2015 11:21 AM. Windows CE and Windows Mobile Operating System. Abstract
Windows CE and Windows Mobile Operating System Microsoft Windows CE, Windows Mobile, and Windows Embedded Handheld Enhanced Cryptographic Provider (RSAENH) (5.00.911762, 5.01.01603, 5.04.17228, 5.05.19202,
Windows Server 2003 Enhanced Cryptographic Provider (RSAENH)
Windows Server 2003 Enhanced Cryptographic Provider (RSAENH) (Windows Server 2003 SP2) FIPS 140-2 Documentation: Security Policy July 02, 2008 Abstract This document specifies the non-proprietary security
Windows Server 2003 Enhanced Cryptographic Provider (RSAENH)
Windows Server 2003 Enhanced Cryptographic Provider (RSAENH) (Windows Server 2003 SP2) FIPS 140-2 Documentation: Security Policy September 20, 2007 Abstract This document specifies the non-proprietary
Guidelines for Developing Cryptographic Service Providers (CSPs) for Acrobat on Windows
Technical Note Providers (CSPs) for Acrobat C ONTENTS Requirements for Minimal Functionality 1 Recommendations for Maximum Functionality 2 For a Better User Experience Using CSPs in Acrobat 3 Other Recommendations
CALIFORNIA SOFTWARE LABS
; Digital Signatures and PKCS#11 Smart Cards Concepts, Issues and some Programming Details CALIFORNIA SOFTWARE LABS R E A L I Z E Y O U R I D E A S California Software Labs 6800 Koll Center Parkway, Suite
Intel EP80579 Software for Security Applications on Intel QuickAssist Technology Cryptographic API Reference
Intel EP80579 Software for Security Applications on Intel QuickAssist Technology Cryptographic API Reference Automatically generated from sources, May 19, 2009. Reference Number: 320184, Revision -003
Microsoft Win32 Internet Functions
1 Microsoft Win32 Internet Functions Purpose and Background The Microsoft Win32 Internet functions provide Win32-based applications with easy access to common Internet protocols. These functions abstract
Apple Certificate Library Functional Specification
Apple Certificate Library Functional Specification apple 2005-01-13 apple Apple Computer, Inc. 2005 Apple Computer, Inc. All rights reserved. No part of this publication may be reproduced, stored in a
UM0586 User manual. STM32 Cryptographic Library. Introduction
User manual STM32 Cryptographic Library Introduction This manual describes the API of the STM32 cryptographic library (STM32-CRYP-LIB) that supports the following cryptographic algorithms: AES-128, AES-192,
SMTP-32 Library. Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows. Version 5.2
SMTP-32 Library Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows Version 5.2 Copyright 1994-2003 by Distinct Corporation All rights reserved Table of Contents 1 Overview... 5 1.1
Microsoft Windows 7 Kernel Mode Cryptographic Primitives Library (cng.sys) Security Policy Document
Microsoft Windows 7 Kernel Mode Cryptographic Primitives Library (cng.sys) Security Policy Document Microsoft Windows 7 Operating System FIPS 140-2 Security Policy Document This document specifies the
Illustration 1: Diagram of program function and data flow
The contract called for creation of a random access database of plumbing shops within the near perimeter of FIU Engineering school. The database features a rating number from 1-10 to offer a guideline
Package PKI. July 28, 2015
Version 0.1-3 Package PKI July 28, 2015 Title Public Key Infrastucture for R Based on the X.509 Standard Author Maintainer Depends R (>= 2.9.0),
Software Development Kit Manual
Software Development Kit Manual Rev. 3.0 The company names and product names that appear in this manual are generally trademarks or registered trademarks of each company. Index 1. Status Monitor API...
Everything is Terrible
Everything is Terrible A deep dive into provisioning and code signing Hello and welcome to Everything is Terrible. This is a deep dive talk into the processes behind provisioning and code signing on Apple
A PKI case study: Implementing the Server-based Certificate Validation Protocol
54 ISBN: 978-960-474-048-2 A PKI case study: Implementing the Server-based Certificate Validation Protocol MARIUS MARIAN University of Craiova Department of Automation ROMANIA [email protected] EUGEN
Apple Cryptographic Service Provider Functional Specification
Apple Cryptographic Service Provider Functional Specification apple 2005-03-10 apple Apple Computer, Inc. 2005 Apple Computer, Inc. All rights reserved. No part of this publication may be reproduced, stored
MatrixSSL Developer s Guide
MatrixSSL Developer s Guide This document discusses developing with MatrixSSL. It includes instructions on integrating MatrixSSL into an application and a description of the configurable options for modifying
Stacks. Linear data structures
Stacks Linear data structures Collection of components that can be arranged as a straight line Data structure grows or shrinks as we add or remove objects ADTs provide an abstract layer for various operations
Using etoken for SSL Web Authentication. SSL V3.0 Overview
Using etoken for SSL Web Authentication Lesson 12 April 2004 etoken Certification Course SSL V3.0 Overview Secure Sockets Layer protocol, version 3.0 Provides communication privacy over the internet. Prevents
[MS-RDPESC]: Remote Desktop Protocol: Smart Card Virtual Channel Extension
[MS-RDPESC]: Remote Desktop Protocol: Smart Card Virtual Channel Extension Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications
System Calls and Standard I/O
System Calls and Standard I/O Professor Jennifer Rexford http://www.cs.princeton.edu/~jrex 1 Goals of Today s Class System calls o How a user process contacts the Operating System o For advanced services
BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: 10.1.1. Security Note
BlackBerry Enterprise Service 10 Secure Work Space for ios and Android Version: 10.1.1 Security Note Published: 2013-06-21 SWD-20130621110651069 Contents 1 About this guide...4 2 What is BlackBerry Enterprise
Application Note. Introduction AN2471/D 3/2003. PC Master Software Communication Protocol Specification
Application Note 3/2003 PC Master Software Communication Protocol Specification By Pavel Kania and Michal Hanak S 3 L Applications Engineerings MCSL Roznov pod Radhostem Introduction The purpose of this
Specific Simple Network Management Tools
Specific Simple Network Management Tools Jürgen Schönwälder University of Osnabrück Albrechtstr. 28 49069 Osnabrück, Germany Tel.: +49 541 969 2483 Email: Web:
TCP/IP Networking, Part 2: Web-Based Control
TCP/IP Networking, Part 2: Web-Based Control Microchip TCP/IP Stack HTTP2 Module 2007 Microchip Technology Incorporated. All Rights Reserved. Building Embedded Web Applications Slide 1 Welcome to the next
CS 241 Data Organization Coding Standards
CS 241 Data Organization Coding Standards Brooke Chenoweth University of New Mexico Spring 2016 CS-241 Coding Standards All projects and labs must follow the great and hallowed CS-241 coding standards.
MatrixSSL Porting Guide
MatrixSSL Porting Guide Electronic versions are uncontrolled unless directly accessed from the QA Document Control system. Printed version are uncontrolled except when stamped with VALID COPY in red. External
Software Application Development. D2XX Programmer's Guide
Future Technology Devices International Ltd. Software Application Development D2XX Programmer's Guide Document Reference No.: FT_000071 Version 1.3 Issue Date: 2012-02-23 FTDI provides DLL and virtual
MS Active Sync: Sync with External Memory Files
Mindfire Solutions - 1 - MS Active Sync: Sync with External Memory Files Author: Rahul Gaur Mindfire Solutions, Mindfire Solutions - 2 - Table of Contents Overview 3 Target Audience 3 Conventions...3 1.
Sources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
Common security requirements Basic security tools. Example. Secret-key cryptography Public-key cryptography. Online shopping with Amazon
1 Common security requirements Basic security tools Secret-key cryptography Public-key cryptography Example Online shopping with Amazon 2 Alice credit card # is xxxx Internet What could the hacker possibly
Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C
Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C 1 An essential part of any embedded system design Programming 2 Programming in Assembly or HLL Processor and memory-sensitive
Microsoft Windows Server 2008 R2 Cryptographic Primitives Library (bcryptprimitives.dll) Security Policy Document
Microsoft Windows Cryptographic Primitives Library (bcryptprimitives.dll) Security Policy Document Microsoft Windows Server 2008 R2 Cryptographic Primitives Library (bcryptprimitives.dll) Security Policy
Overview of CSS SSL. SSL Cryptography Overview CHAPTER
CHAPTER 1 Secure Sockets Layer (SSL) is an application-level protocol that provides encryption technology for the Internet, ensuring secure transactions such as the transmission of credit card numbers
... Protecting i5/os data with encryption. Kent Milligan and Beth Hagemeister ISV Business Strategy and Enablement October 2006
......... Kent Milligan and Beth Hagemeister ISV Business Strategy and Enablement October 2006 Copyright IBM Corporation, 2006. All Rights Reserved. All trademarks or registered trademarks mentioned herein
Package PKI. February 20, 2013
Package PKI February 20, 2013 Version 0.1-1 Title Public Key Infrastucture for R based on the X.509 standard Author Maintainer Depends R (>=
Format string exploitation on windows Using Immunity Debugger / Python. By Abysssec Inc WwW.Abysssec.Com
Format string exploitation on windows Using Immunity Debugger / Python By Abysssec Inc WwW.Abysssec.Com For real beneficiary this post you should have few assembly knowledge and you should know about classic
OpenSSL (lab notes) Definition: OpenSSL is an open-source library containing cryptographic tools.
Network security MSc IDL (GLIA) and MSc HIT / Isima Academic year 2012-2013 OpenSSL (lab notes) Definition: OpenSSL is an open-source library containing cryptographic tools. 1. OpenSSL usage Exercice 1.1
HP ProtectTools Embedded Security Guide
HP ProtectTools Embedded Security Guide Document Part Number: 364876-001 May 2004 This guide provides instructions for using the software that allows you to configure settings for the HP ProtectTools Embedded
MPLAB Harmony System Service Libraries Help
MPLAB Harmony System Service Libraries Help MPLAB Harmony Integrated Software Framework v1.08 All rights reserved. This section provides descriptions of the System Service libraries that are available
Introducing etoken. What is etoken?
Introducing etoken Nirit Bear September 2002 What is etoken? Small & portable reader-less Smartcard Standard USB connectivity Logical and physical protection Tamper evident (vs. tamper proof) Water resistant
X.509 Certificate Generator User Manual
X.509 Certificate Generator User Manual Introduction X.509 Certificate Generator is a tool that allows you to generate digital certificates in PFX format, on Microsoft Certificate Store or directly on
File System Encryption in C#
INTEGRATED FILE-LEVEL CRYPTOGRAPHICAL ACCESS CONTROL Abstract Ryan Seifert [email protected] T. Andrew Yang [email protected] Division of Computing and Mathematics University of Houston - Clear Lake,
TivaWare Utilities Library
TivaWare Utilities Library USER S GUIDE SW-TM4C-UTILS-UG-1.1 Copyright 2013 Texas Instruments Incorporated Copyright Copyright 2013 Texas Instruments Incorporated. All rights reserved. Tiva and TivaWare
Output: 12 18 30 72 90 87. struct treenode{ int data; struct treenode *left, *right; } struct treenode *tree_ptr;
50 20 70 10 30 69 90 14 35 68 85 98 16 22 60 34 (c) Execute the algorithm shown below using the tree shown above. Show the exact output produced by the algorithm. Assume that the initial call is: prob3(root)
FIPS 140-2 Non- Proprietary Security Policy. McAfee SIEM Cryptographic Module, Version 1.0
FIPS 40-2 Non- Proprietary Security Policy McAfee SIEM Cryptographic Module, Version.0 Document Version.4 December 2, 203 Document Version.4 McAfee Page of 6 Prepared For: Prepared By: McAfee, Inc. 282
Accellion Secure File Transfer Cryptographic Module Security Policy Document Version 1.0. Accellion, Inc.
Accellion Secure File Transfer Cryptographic Module Security Policy Document Version 1.0 Accellion, Inc. December 24, 2009 Copyright Accellion, Inc. 2009. May be reproduced only in its original entirety
Virtuozzo Virtualization SDK
Virtuozzo Virtualization SDK Programmer's Guide February 18, 2016 Copyright 1999-2016 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP Holdings GmbH Vordergasse 59 8200
ACTi SDK-10000. C Library Edition v1.2 SP1. API Reference Guide
ACTi SDK-10000 C Library Edition v1.2 SP1 API Reference Guide Table of Contents 1 OVERVIEW 1-1 INTRODUCTION... 1-1 Start Up with Streaming Client Library 1-1 Start Up with Playback Library 1-5 STREAMING
Affdex SDK for Windows!
Affdex SDK for Windows SDK Developer Guide 1 Introduction Affdex SDK is the culmination of years of scientific research into emotion detection, validated across thousands of tests worldwide on PC platforms,
El Dorado Union High School District Educational Services
El Dorado Union High School District Course of Study Information Page Course Title: ACE Computer Programming II (#495) Rationale: A continuum of courses, including advanced classes in technology is needed.
User Manual. 3-Heights PDF Producer API. Version 4.6
User Manual 3-Heights PDF Producer API Version 4.6 Contents 1 Introduction........................................................................ 2 1.1 Operating Systems...................................................................
How To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint)
TN203 Porting a Program to Dynamic C Introduction Dynamic C has a number of improvements and differences compared to many other C compiler systems. This application note gives instructions and suggestions
epass2003 User Guide V1.0 Feitian Technologies Co., Ltd. Website: www.ftsafe.com
epass2003 User Guide V1.0 Feitian Technologies Co., Ltd. Revision History: Date Revision Description June 2013 V1.0 Release of the first version i Software Developer s Agreement All Products of Feitian
Ciphire Mail. Abstract
Ciphire Mail Technical Introduction Abstract Ciphire Mail is cryptographic software providing email encryption and digital signatures. The Ciphire Mail client resides on the user's computer between the
FINAL DoIT 11.03.2015 - v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES
Purpose: The Department of Information Technology (DoIT) is committed to developing secure applications. DoIT s System Development Methodology (SDM) and Application Development requirements ensure that
RTI Monitoring Library Getting Started Guide
RTI Monitoring Library Getting Started Guide Version 5.1.0 2011-2013 Real-Time Innovations, Inc. All rights reserved. Printed in U.S.A. First printing. December 2013. Trademarks Real-Time Innovations,
60-141 Introduction to Programming II Winter, 2014 Assignment 2
60-141 Introduction to Programming II Winter, 2014 Assignment 2 Array In this assignment you will implement an encryption and a corresponding decryption algorithm which involves only random shuffling of
1 Step 1: Select... Files to Encrypt 2 Step 2: Confirm... Name of Archive 3 Step 3: Define... Pass Phrase
Contents I Table of Contents Foreword 0 Part I Introduction 2 1 What is?... 2 Part II Encrypting Files 1,2,3 2 1 Step 1: Select... Files to Encrypt 2 2 Step 2: Confirm... Name of Archive 3 3 Step 3: Define...
Overview. SSL Cryptography Overview CHAPTER 1
CHAPTER 1 Note The information in this chapter applies to both the ACE module and the ACE appliance unless otherwise noted. The features in this chapter apply to IPv4 and IPv6 unless otherwise noted. Secure
CS222: Systems Programming
CS222: Systems Programming The Basics January 24, 2008 A Designated Center of Academic Excellence in Information Assurance Education by the National Security Agency Agenda Operating System Essentials Windows
Secure Network Communications FIPS 140 2 Non Proprietary Security Policy
Secure Network Communications FIPS 140 2 Non Proprietary Security Policy 21 June 2010 Table of Contents Introduction Module Specification Ports and Interfaces Approved Algorithms Test Environment Roles
Security Technical. Overview. BlackBerry Enterprise Service 10. BlackBerry Device Service Solution Version: 10.2
BlackBerry Enterprise Service 10 BlackBerry Device Service Solution Version: 10.2 Security Technical Overview Published: 2014-09-10 SWD-20140908123239883 Contents 1 About BlackBerry Device Service solution
Entrust Certificate Services. Java Code Signing. User Guide. Date of Issue: December 2014. Document issue: 2.0
Entrust Certificate Services Java Code Signing User Guide Date of Issue: December 2014 Document issue: 2.0 Copyright 2009-2014 Entrust. All rights reserved. Entrust is a trademark or a registered trademark
Protecting IBM i data with encryption
Kent Milligan and Beth Hagemeister ISV Business Strategy and Enablement March 2014 Copyright IBM Corporation, 2007. All Rights Reserved. All trademarks or registered trademarks mentioned herein are the
Binary storage of graphs and related data
EÖTVÖS LORÁND UNIVERSITY Faculty of Informatics Department of Algorithms and their Applications Binary storage of graphs and related data BSc thesis Author: Frantisek Csajka full-time student Informatics
AWS Encryption SDK. Developer Guide
AWS Encryption SDK Developer Guide AWS Encryption SDK: Developer Guide Copyright 2016 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be
DocStore: Document Database for MySQL at Facebook. Peng Tian, Tian Xia 04/14/2015
DocStore: Document Database for MySQL at Facebook Peng Tian, Tian Xia 04/14/2015 Agenda Overview of DocStore Document: A new column type to store JSON New Built-in JSON functions Document Path: A intuitive
SMF Digital Signatures in z/os 2.2. Anthony Sofia ([email protected]) Software Engineer at IBM August 14 th 2015
SMF Digital Signatures in z/os 2.2 Anthony Sofia ([email protected]) Software Engineer at IBM August 14 th 2015 Agenda What is a digital signature? How digital signatures enhance SMF data Configuration
System Security Fundamentals
System Security Fundamentals Alessandro Barenghi Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano alessandro.barenghi - at - polimi.it April 28, 2015 Lesson contents Overview
Internet Payment Gateway. Win32 API Developer Guide
Internet Payment Gateway Win32 API Developer Guide Table of Contents Disclaimer... 3 Confidentiality... 3 Document Purpose / Intended Audience... 3 Related Documents... 3 1 Introduction... 4 1.1 Minimum
ncipher modules Integration Guide for Microsoft Windows Server 2008 Active Directory Certificate Services Windows Server 2008 32-bit and 64-bit
ncipher modules Integration Guide for Microsoft Windows Server 2008 Active Directory Certificate Services Windows Server 2008 32-bit and 64-bit Version: 1.8 Date: 05 March 2010 Copyright 2010 ncipher Corporation
Expansion of a Framework for a Data- Intensive Wide-Area Application to the Java Language
Expansion of a Framework for a Data- Intensive Wide-Area Application to the Java Sergey Koren Table of Contents 1 INTRODUCTION... 3 2 PREVIOUS RESEARCH... 3 3 ALGORITHM...4 3.1 APPROACH... 4 3.2 C++ INFRASTRUCTURE
Building a Multi-Threaded Web Server
Building a Multi-Threaded Web Server In this lab we will develop a Web server in two steps. In the end, you will have built a multi-threaded Web server that is capable of processing multiple simultaneous
Fast Arithmetic Coding (FastAC) Implementations
Fast Arithmetic Coding (FastAC) Implementations Amir Said 1 Introduction This document describes our fast implementations of arithmetic coding, which achieve optimal compression and higher throughput by
EC-Council CAST CENTER FOR ADVANCED SECURITY TRAINING. CAST 619 Advanced SQLi Attacks and Countermeasures. Make The Difference CAST.
CENTER FOR ADVANCED SECURITY TRAINING 619 Advanced SQLi Attacks and Countermeasures Make The Difference About Center of Advanced Security Training () The rapidly evolving information security landscape
Basic Data Types. typedef short SHORT; typedef unsigned long DWORD;
Lecture 2-1 Basic Data Types typedef short SHORT; typedef unsigned short WORD; typedef unsigned long DWORD; #if defined(_win64) typedef int64 INT_PTR; #else typedef int INT_PTR; #endif typedef DWORD COLORREF;
Paper-based Document Authentication using Digital Signature and QR Code
2012 4T International Conference on Computer Engineering and Technology (ICCET 2012) Paper-based Document Authentication using Digital Signature and QR Code Maykin Warasart and Pramote Kuacharoen Department
Windows CE 6.0 APEX ZF
Windows CE 6.0 For APEX ZF User Guide Document Reference: Windows CE User Guide Document Issue: 1.0 Contents Introduction... 3 Windows CE 6.0 initialisation and booting overview... 3 APEX-ZF hardware evaluation
CS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 2: Operating System Structures Prof. Alan Mislove ([email protected]) Operating System Services Operating systems provide an environment for
Using NSM for Event Notification. Abstract. with DM3, R4, and Win32 Devices
Using NSM for Event Notification with DM3, R4, and Win32 Devices Abstract This document explains why Native Synchronization Methods (NSM) is the best solution for controlling synchronization of DM3, R4,
HTC Windows Phone 7 Arbitrary Read/Write of Kernel Memory 10/11/2011
MWR InfoSecurity Advisory HTC Windows Phone 7 Arbitrary Read/Write of Kernel Memory 10/11/2011 Package Name Date 10/11/2011 Affected Versions HTC Windows Phone 7 Phones HTC HD7 confirmed to be vulnerable.
SkyRecon Cryptographic Module (SCM)
SkyRecon Cryptographic Module (SCM) FIPS 140-2 Documentation: Security Policy Abstract This document specifies the security policy for the SkyRecon Cryptographic Module (SCM) as described in FIPS PUB 140-2.
3.5. cmsg Developer s Guide. Data Acquisition Group JEFFERSON LAB. Version
Version 3.5 JEFFERSON LAB Data Acquisition Group cmsg Developer s Guide J E F F E R S O N L A B D A T A A C Q U I S I T I O N G R O U P cmsg Developer s Guide Elliott Wolin [email protected] Carl Timmer [email protected]
Practice Questions. CS161 Computer Security, Fall 2008
Practice Questions CS161 Computer Security, Fall 2008 Name Email address Score % / 100 % Please do not forget to fill up your name, email in the box in the midterm exam you can skip this here. These practice
Keywords Cloud Storage, Error Identification, Partitioning, Cloud Storage Integrity Checking, Digital Signature Extraction, Encryption, Decryption
Partitioning Data and Domain Integrity Checking for Storage - Improving Cloud Storage Security Using Data Partitioning Technique Santosh Jogade *, Ravi Sharma, Prof. Rajani Kadam Department Of Computer
Introduction...3 Terms in this Document...3 Conditions for Secure Operation...3 Requirements...3 Key Generation Requirements...
Hush Encryption Engine White Paper Introduction...3 Terms in this Document...3 Conditions for Secure Operation...3 Requirements...3 Key Generation Requirements...4 Passphrase Requirements...4 Data Requirements...4
AN11241. AES encryption and decryption software on LPC microcontrollers. Document information
AES encryption and decryption software on LPC microcontrollers Rev. 1 25 July 2012 Application note Document information Info Content Keywords AES, encryption, decryption, FIPS-197, Cortex-M0, Cortex-M3
SecureDoc Disk Encryption Cryptographic Engine
SecureDoc Disk Encryption Cryptographic Engine FIPS 140-2 Non-Proprietary Security Policy Abstract: This document specifies Security Policy enforced by SecureDoc Cryptographic Engine compliant with the
APPLICATION PROGRAMMING INTERFACE
APPLICATION PROGRAMMING INTERFACE Advanced Card Systems Ltd. Website: www.acs.com.hk Email: [email protected] Table of Contents 1.0. Introduction... 4 2.0.... 5 2.1. Overview... 5 2.2. Communication Speed...
Asymmetric Encryption
Asymmetric Encryption logical representation: Asymmetric Cryptography plaintext plaintext kpub E kpub () kprv E kprv () ciphertext ciphertext kprv E -1 kprv () kpub E -1 kpub () used in digital envelope
Lecture 3 Programming with OpenSSL
Lecture 3 Programming with OpenSSL Patrick P. C. Lee Tsinghua Summer Course 2010 3-1 Roadmap OpenSSL Why Cryptosystems Fail? Tsinghua Summer Course 2010 3-2 SSL and OpenSSL SSL is the security protocol
HP AppPulse Mobile. Adding HP AppPulse Mobile to Your Android App
HP AppPulse Mobile Adding HP AppPulse Mobile to Your Android App Document Release Date: April 2015 How to Add HP AppPulse Mobile to Your Android App How to Add HP AppPulse Mobile to Your Android App For
Draft Middleware Specification. Version X.X MM/DD/YYYY
Draft Middleware Specification Version X.X MM/DD/YYYY Contents Contents... ii 1. Introduction... 1 1.2. Purpose... 1 1.3. Audience... 1 1.4. Document Scope... 1 1.5. Document Objectives... 1 1.6. Assumptions
Client-server Sockets
Client-server Sockets 1 How to Write a Network Based Program (Using Microchip's TCP/IP Stack) A network based program that uses the Client-server architecture must create at least two separate programs,
Integrating Gestures in Windows Embedded Compact 7. Douglas Boling Boling Consulting Inc.
Integrating Gestures in Windows Embedded Compact 7 Douglas Boling Boling Consulting Inc. About Douglas Boling Independent consultant specializing in Windows Mobile and Windows Embedded Compact (Windows
National Certification Authority Framework in Sri Lanka
National Certification Authority Framework in Sri Lanka By Rohana Palliyaguru Manager Operations & Principal Information Security Engineer What is digital Signature? According to UNCITRAL Text 25. Digital
