Facebook Graph Search by Ole martin mørk for jdays2013 Gothenburg www.jdays.sehamidsamadi
This document summarizes a presentation about creating graph searches using Neo4j. It includes an agenda that covers introduction to search, Neo4j, parsing, and graph search. It provides examples of using Cypher to query a graph database and define patterns and relationships. It also discusses using parsing expression grammars and the Parboiled library to parse text into a graph structure that can enable graph search capabilities.
This document provides an overview and agenda for a presentation on creating graph searches using Neo4j. The presentation introduces graph databases and Neo4j, as well as parsing and graph search techniques. It discusses using the Cypher query language to define graph patterns and queries in Neo4j. Examples are provided to illustrate how to model data as nodes and relationships and write Cypher queries to search the graph. The document also briefly covers parsing with PEG grammars and the Parboiled library.
Python is a high-level, interpreted programming language that is designed to be easy to read and write. It has a clear syntax using English keywords and its code is often shorter than languages like C++ and Java. Python is widely used for web development, software development, science, and machine learning. It has a large standard library and can be extended through modules. Some key data structures in Python include lists, tuples, and dictionaries.
1) Bitcoin addresses are generated from public keys through a multi-step process involving hashing, encoding, and adding checksums.
2) Specifically, the public key is hashed using SHA256 and RIPEMD160, then encoded in base58 format.
3) A version byte and checksum are added to the encoded hash to create the final Bitcoin address.
The document discusses using Elasticsearch's percolator to store queries in an index and then retrieve matching queries by indexing documents. It provides an example of storing queries for terms like "bad protocol" and then percolating a log message to return matching queries. The document also describes techniques for optimizing percolation performance like rewriting queries and messages into a shared sparse vector space for faster matching.
Auckland Programming Algorithms and Performance Meetup about Stacks & LeetCod...Paulo Miguel Almeida
This document discusses stacks and provides examples of their use. Stacks are introduced as an abstract data structure that follows the LIFO (last in, first out) principle. The two main operations are push, which adds an element to the top of the stack, and pop, which removes the top element. Real-world examples of stacks include parsing mathematical expressions and modeling the back/forward buttons of a web browser. The document then covers stack implementations in Java and provides examples of stack problems from LeetCode.
Part 5 : Sharing resources, security principles and protocolsOlivier Bonaventure
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Facebook Graph Search by Ole martin mørk for jdays2013 Gothenburg www.jdays.sehamidsamadi
This document summarizes a presentation about creating graph searches using Neo4j. It includes an agenda that covers introduction to search, Neo4j, parsing, and graph search. It provides examples of using Cypher to query a graph database and define patterns and relationships. It also discusses using parsing expression grammars and the Parboiled library to parse text into a graph structure that can enable graph search capabilities.
This document provides an overview and agenda for a presentation on creating graph searches using Neo4j. The presentation introduces graph databases and Neo4j, as well as parsing and graph search techniques. It discusses using the Cypher query language to define graph patterns and queries in Neo4j. Examples are provided to illustrate how to model data as nodes and relationships and write Cypher queries to search the graph. The document also briefly covers parsing with PEG grammars and the Parboiled library.
Python is a high-level, interpreted programming language that is designed to be easy to read and write. It has a clear syntax using English keywords and its code is often shorter than languages like C++ and Java. Python is widely used for web development, software development, science, and machine learning. It has a large standard library and can be extended through modules. Some key data structures in Python include lists, tuples, and dictionaries.
1) Bitcoin addresses are generated from public keys through a multi-step process involving hashing, encoding, and adding checksums.
2) Specifically, the public key is hashed using SHA256 and RIPEMD160, then encoded in base58 format.
3) A version byte and checksum are added to the encoded hash to create the final Bitcoin address.
The document discusses using Elasticsearch's percolator to store queries in an index and then retrieve matching queries by indexing documents. It provides an example of storing queries for terms like "bad protocol" and then percolating a log message to return matching queries. The document also describes techniques for optimizing percolation performance like rewriting queries and messages into a shared sparse vector space for faster matching.
Auckland Programming Algorithms and Performance Meetup about Stacks & LeetCod...Paulo Miguel Almeida
This document discusses stacks and provides examples of their use. Stacks are introduced as an abstract data structure that follows the LIFO (last in, first out) principle. The two main operations are push, which adds an element to the top of the stack, and pop, which removes the top element. Real-world examples of stacks include parsing mathematical expressions and modeling the back/forward buttons of a web browser. The document then covers stack implementations in Java and provides examples of stack problems from LeetCode.
Part 5 : Sharing resources, security principles and protocolsOlivier Bonaventure
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
The document provides information about an introduction to Python programming presented by Kiattisak Anoochitarom. It begins with welcoming messages and details about the presenter. It then discusses various Python topics like data types, operators, control flow statements, functions, built-in functions, and string and list methods. Examples are provided throughout to demonstrate different Python concepts and syntax. The goal is to teach the basics of the Python language.
This lecture introduces cryptocurrencies and the cryptographic concepts that enable them. It discusses hash functions and their properties like collision resistance. Digital signatures are explained as well as how public keys can represent identities. Simple cryptocurrency schemes are presented like GoofyCoin where a central party controls coin generation, and ScroogeCoin where a transaction history is published but one entity still controls validity. The goal of later lectures is to create a decentralized currency without a central trusted authority.
The document discusses several topics in cryptography including classical ciphers, public key cryptography, Diffie-Hellman key exchange, RSA encryption, and cryptographic checksums. Public key cryptography uses two keys - a private key known only to the individual and a public key available to anyone. Diffie-Hellman allows two parties to establish a shared secret key over an insecure channel. RSA relies on the difficulty of factoring large prime numbers to encrypt/decrypt messages using public/private key pairs. Cryptographic checksums like HMAC provide integrity by making it infeasible to alter encrypted data without detection.
Public Key Cryptography provides confidentiality, integrity, authentication, and non-repudiation through techniques like asymmetric encryption, digital signatures, hashes, and key exchange. It uses public/private key pairs based on hard mathematical problems like factoring and discrete logarithms. Common algorithms include RSA for encryption/signatures and Diffie-Hellman for key exchange. Signatures are generated with the private key and verified with the public key to authenticate messages and identities.
Hashing Considerations In Web ApplicationsIslam Heggo
Practical best practices for securing and hashing user's passwords. Protecting authentication through avoiding most common mistakes. Given examples in PHP through illustrating password_hash(), openssl_random_pseudo_bytes(), crypt(), mcrypt_create_iv(), md5(), sha1()
The document outlines various data structures and algorithms for implementing dictionaries and hash tables, including:
- Separate chaining, which handles collisions by storing elements that hash to the same value in a linked list. Find, insert, and delete take average time of O(1).
- Open addressing techniques like linear probing and quadratic probing, which handle collisions by probing to alternate locations until an empty slot is found. These have faster search but slower inserts and deletes.
- Double hashing, which uses a second hash function to determine probe distances when collisions occur, reducing clustering compared to linear probing.
The document discusses using Erlang's concurrency features to perform password cracking via brute force by dividing the search space across multiple processes. It describes representing strings as numbers and dividing the search of all possible 3-letter strings among multiple processes to check hashes faster than a single process. Testing was done on Amazon EC2 using 8-core instances to demonstrate the performance benefits of Erlang's concurrency for this type of task.
This document discusses space-time tradeoffs and hashing. It explains that a space-time tradeoff is when memory use can be reduced at the cost of slower program execution. Hashing is presented as an efficient method for implementing a dictionary with constant-time operations through a space-for-time tradeoff. Good hash functions evenly distribute keys and have collisions resolved through techniques like chaining or probing.
The document discusses a talk titled "The Dark Side of Ruby". The talk will cover how Ruby is an awesome programming language but also discuss some weirdness, gotchas, and ah-ha moments related to Ruby. It will explore infinity in Ruby, base conversions, splat expansion, hashes and arrays, calling procs, syntax, case statements, equality comparisons, object IDs and Fixnums, and currying.
A retake of a 2002 presentation I did at YAPC::EU 2002 (I feel old now) about Source Filters in Perl. It attempts to shed some more light on code alterations and reveals some of the magic behind Acme::Bleach and Acme::Buffy
Cryptographic hashing functions are used to map data of arbitrary size to fixed-size values to facilitate data storage and transmission. They have properties such as preimage and collision resistance to make them unpredictable and secure. Popular cryptographic hashing algorithms include MD5, SHA-1, and SHA-2. Hashing functions are used for applications like digital signatures, password security, and message authentication. Techniques like salting hashes make them more resistant to brute force and pre-computed rainbow table attacks.
The document provides guidance on properly storing passwords in a database. It recommends using cryptographically secure hash functions with salts to hash passwords before storage. It discusses approaches like PBKDF2, BCrypt, and SCRYPT that can be used to hash passwords and make brute force attacks more difficult. The document stresses that security should be a higher priority for developers than new frameworks, and provides other recommendations like using standard authentication when possible and limiting database access.
This document discusses natural language processing and text segmentation. It introduces ELUTE (Essential Libraries and Utilities of Text Engineering) and some of its Chinese language processing tools. It then discusses word segmentation algorithms like maximum matching, hidden Markov models, and conditional random fields. Finally, it talks about building language models and the importance of having a large corpus to train models on.
Secure Communication (Distributed computing)Sri Prasanna
The document discusses secure communication and digital signatures. It begins by explaining symmetric cryptography and the key distribution problem. It then describes Diffie-Hellman key exchange, which allows two parties to agree on a secret key over an insecure channel without pre-shared secrets. It also covers RSA public key cryptography. The document discusses using hybrid cryptosystems that combine public key techniques for key exchange and symmetric encryption for bulk data. Finally, it explains how digital signatures using public key cryptography allow a message to be authenticated and integrity protected without encryption.
Symmetric encryption suffers from several key distribution and management problems in modern distributed communication environments. Asymmetric encryption solves these issues by using public/private key pairs, allowing anyone to encrypt messages using the public key but only the private key holder can decrypt. Digital signatures, key certification through public key infrastructure (PKI), and hash functions are important applications of asymmetric cryptography.
The document provides information about the Go programming language. It discusses the history and creators of Go, key features of the language such as concurrency and garbage collection, basic Go code examples, and common data types like slices and maps. It also covers Go tools, environments, benchmarks showing Go's performance, and examples of companies using Go in production.
This document provides an overview of cryptography concepts for software engineers. It introduces common terminology like Alice, Bob and Eve and encryption techniques like AES. It discusses block cipher modes like ECB, CBC and CTR and how they work. It also covers hashing, MACs like HMAC and how to build a secure channel using encryption and authentication of messages with keys and counters. The goal is to help Alice securely communicate with Bob while preventing Eve from reading or modifying their messages.
The document provides information about an introduction to Python programming presented by Kiattisak Anoochitarom. It begins with welcoming messages and details about the presenter. It then discusses various Python topics like data types, operators, control flow statements, functions, built-in functions, and string and list methods. Examples are provided throughout to demonstrate different Python concepts and syntax. The goal is to teach the basics of the Python language.
This lecture introduces cryptocurrencies and the cryptographic concepts that enable them. It discusses hash functions and their properties like collision resistance. Digital signatures are explained as well as how public keys can represent identities. Simple cryptocurrency schemes are presented like GoofyCoin where a central party controls coin generation, and ScroogeCoin where a transaction history is published but one entity still controls validity. The goal of later lectures is to create a decentralized currency without a central trusted authority.
The document discusses several topics in cryptography including classical ciphers, public key cryptography, Diffie-Hellman key exchange, RSA encryption, and cryptographic checksums. Public key cryptography uses two keys - a private key known only to the individual and a public key available to anyone. Diffie-Hellman allows two parties to establish a shared secret key over an insecure channel. RSA relies on the difficulty of factoring large prime numbers to encrypt/decrypt messages using public/private key pairs. Cryptographic checksums like HMAC provide integrity by making it infeasible to alter encrypted data without detection.
Public Key Cryptography provides confidentiality, integrity, authentication, and non-repudiation through techniques like asymmetric encryption, digital signatures, hashes, and key exchange. It uses public/private key pairs based on hard mathematical problems like factoring and discrete logarithms. Common algorithms include RSA for encryption/signatures and Diffie-Hellman for key exchange. Signatures are generated with the private key and verified with the public key to authenticate messages and identities.
Hashing Considerations In Web ApplicationsIslam Heggo
Practical best practices for securing and hashing user's passwords. Protecting authentication through avoiding most common mistakes. Given examples in PHP through illustrating password_hash(), openssl_random_pseudo_bytes(), crypt(), mcrypt_create_iv(), md5(), sha1()
The document outlines various data structures and algorithms for implementing dictionaries and hash tables, including:
- Separate chaining, which handles collisions by storing elements that hash to the same value in a linked list. Find, insert, and delete take average time of O(1).
- Open addressing techniques like linear probing and quadratic probing, which handle collisions by probing to alternate locations until an empty slot is found. These have faster search but slower inserts and deletes.
- Double hashing, which uses a second hash function to determine probe distances when collisions occur, reducing clustering compared to linear probing.
The document discusses using Erlang's concurrency features to perform password cracking via brute force by dividing the search space across multiple processes. It describes representing strings as numbers and dividing the search of all possible 3-letter strings among multiple processes to check hashes faster than a single process. Testing was done on Amazon EC2 using 8-core instances to demonstrate the performance benefits of Erlang's concurrency for this type of task.
This document discusses space-time tradeoffs and hashing. It explains that a space-time tradeoff is when memory use can be reduced at the cost of slower program execution. Hashing is presented as an efficient method for implementing a dictionary with constant-time operations through a space-for-time tradeoff. Good hash functions evenly distribute keys and have collisions resolved through techniques like chaining or probing.
The document discusses a talk titled "The Dark Side of Ruby". The talk will cover how Ruby is an awesome programming language but also discuss some weirdness, gotchas, and ah-ha moments related to Ruby. It will explore infinity in Ruby, base conversions, splat expansion, hashes and arrays, calling procs, syntax, case statements, equality comparisons, object IDs and Fixnums, and currying.
A retake of a 2002 presentation I did at YAPC::EU 2002 (I feel old now) about Source Filters in Perl. It attempts to shed some more light on code alterations and reveals some of the magic behind Acme::Bleach and Acme::Buffy
Cryptographic hashing functions are used to map data of arbitrary size to fixed-size values to facilitate data storage and transmission. They have properties such as preimage and collision resistance to make them unpredictable and secure. Popular cryptographic hashing algorithms include MD5, SHA-1, and SHA-2. Hashing functions are used for applications like digital signatures, password security, and message authentication. Techniques like salting hashes make them more resistant to brute force and pre-computed rainbow table attacks.
The document provides guidance on properly storing passwords in a database. It recommends using cryptographically secure hash functions with salts to hash passwords before storage. It discusses approaches like PBKDF2, BCrypt, and SCRYPT that can be used to hash passwords and make brute force attacks more difficult. The document stresses that security should be a higher priority for developers than new frameworks, and provides other recommendations like using standard authentication when possible and limiting database access.
This document discusses natural language processing and text segmentation. It introduces ELUTE (Essential Libraries and Utilities of Text Engineering) and some of its Chinese language processing tools. It then discusses word segmentation algorithms like maximum matching, hidden Markov models, and conditional random fields. Finally, it talks about building language models and the importance of having a large corpus to train models on.
Secure Communication (Distributed computing)Sri Prasanna
The document discusses secure communication and digital signatures. It begins by explaining symmetric cryptography and the key distribution problem. It then describes Diffie-Hellman key exchange, which allows two parties to agree on a secret key over an insecure channel without pre-shared secrets. It also covers RSA public key cryptography. The document discusses using hybrid cryptosystems that combine public key techniques for key exchange and symmetric encryption for bulk data. Finally, it explains how digital signatures using public key cryptography allow a message to be authenticated and integrity protected without encryption.
Symmetric encryption suffers from several key distribution and management problems in modern distributed communication environments. Asymmetric encryption solves these issues by using public/private key pairs, allowing anyone to encrypt messages using the public key but only the private key holder can decrypt. Digital signatures, key certification through public key infrastructure (PKI), and hash functions are important applications of asymmetric cryptography.
The document provides information about the Go programming language. It discusses the history and creators of Go, key features of the language such as concurrency and garbage collection, basic Go code examples, and common data types like slices and maps. It also covers Go tools, environments, benchmarks showing Go's performance, and examples of companies using Go in production.
This document provides an overview of cryptography concepts for software engineers. It introduces common terminology like Alice, Bob and Eve and encryption techniques like AES. It discusses block cipher modes like ECB, CBC and CTR and how they work. It also covers hashing, MACs like HMAC and how to build a secure channel using encryption and authentication of messages with keys and counters. The goal is to help Alice securely communicate with Bob while preventing Eve from reading or modifying their messages.
Similar to Blockchain 101 - Introduction for Developers (20)
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
Discover top-tier mobile app development services, offering innovative solutions for iOS and Android. Enhance your business with custom, user-friendly mobile applications.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...Jason Yip
The typical problem in product engineering is not bad strategy, so much as “no strategy”. This leads to confusion, lack of motivation, and incoherent action. The next time you look for a strategy and find an empty space, instead of waiting for it to be filled, I will show you how to fill it in yourself. If you’re wrong, it forces a correction. If you’re right, it helps create focus. I’ll share how I’ve approached this in the past, both what works and lessons for what didn’t work so well.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/how-axelera-ai-uses-digital-compute-in-memory-to-deliver-fast-and-energy-efficient-computer-vision-a-presentation-from-axelera-ai/
Bram Verhoef, Head of Machine Learning at Axelera AI, presents the “How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-efficient Computer Vision” tutorial at the May 2024 Embedded Vision Summit.
As artificial intelligence inference transitions from cloud environments to edge locations, computer vision applications achieve heightened responsiveness, reliability and privacy. This migration, however, introduces the challenge of operating within the stringent confines of resource constraints typical at the edge, including small form factors, low energy budgets and diminished memory and computational capacities. Axelera AI addresses these challenges through an innovative approach of performing digital computations within memory itself. This technique facilitates the realization of high-performance, energy-efficient and cost-effective computer vision capabilities at the thin and thick edge, extending the frontier of what is achievable with current technologies.
In this presentation, Verhoef unveils his company’s pioneering chip technology and demonstrates its capacity to deliver exceptional frames-per-second performance across a range of standard computer vision networks typical of applications in security, surveillance and the industrial sector. This shows that advanced computer vision can be accessible and efficient, even at the very edge of our technological ecosystem.
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
11. Hashing Function
f(x)
Similar input results in very different hash values
I want to have a cup of coffee 3f7f81df1a1d31cc1af434b711bd8e33b1ce
Hash
Input
I want to have a cup of coffee.
3bf6ca1f84bccfbe63b23d08b6adfb630899
19. Bob and Alice generates key pair
Bob’s
Public
Key
Bob’s
Private
Key
Bob generates a key pair
Alice’s
Public
Key
Alice’s
Private
Key
Alice generates a key pair
20. Bob and Alice generates key pair
Bob’s
Public
Key
Bob’s
Private
Key
Bob generates a key pair
Alice’s
Public
Key
Alice’s
Private
Key
Alice generates a key pair
21. Bob and Alice share their Public Keys
Bob’s
Private
Key
Bob share his public key with Alice.
Bob’s
Public
Key
Alice’s
Public
Key
Alice’s
Private
Key
Alice share her public key with Bob.Alice’s
Public
Key
Bob’s
Public
Key
23. Alice and Bob encrypted message exchange
Q198$2#(*N
Encryption
Function
Bob’s
Public
Key
Decryption
Function
Bob’s
Private
Key
Anarchy
Alice
Anarchy
Bob
Evil (Eve)
24. Bob has a concern?
How do I know that message was send by Alice and not
Eve?
25. How about we do this….
(1) Hash the Message
(2) Sign the Message | Alice’s Private Key
(3) Encrypt Message | Bob’s Public Key
(4) Send All of Above to Bob
(1) Decrypt Message | Bob’s Private Key
(2) Verify Signature | Alice’s Public Key
(3) Alice’s Message Hash == Bob’s Message Hash
(4) All of above works? we are good!
Alice
Bob
26. How about we do this….
(1) Hash the Message
(2) Sign the Message | Alice’s Private Key
(3) Encrypt Message | Bob’s Public Key
(4) Send All of Above to Bob
(1) Decrypt Message | Bob’s Private Key
(2) Verify Signature | Alice’s Public Key
(3) Alice’s Message Hash == Bob’s Message Hash
(4) All of above works? we are good!
Alice
Bob
36. How to get started with Ethereum?
Tools | Truffle | Remix | Others
Software| Eth |Geth | Parity | Others
Test/Deployment | TestNet | Private | Public
37. Transaction
Signed data package sent from an externally owned
account to another account on the blockchain.
tx( recipient, sender-signature, value-in-ether, start-gas, gas-price)