Results 1 -
7 of
7
Global abstraction-safe marshalling with hash types
- In Proc. 8th ICFP
, 2003
"... Type abstraction is a key feature of ML-like languages for writing large programs. Marshalling is necessary for writing distributed programs, exchanging values via network byte-streams or persistent stores. In this paper we combine the two, developing compile-time and run-time semantics for marshall ..."
Abstract
-
Cited by 35 (12 self)
- Add to MetaCart
Type abstraction is a key feature of ML-like languages for writing large programs. Marshalling is necessary for writing distributed programs, exchanging values via network byte-streams or persistent stores. In this paper we combine the two, developing compile-time and run-time semantics for marshalling, that guarantee abstraction-safety between separately-built programs. We obtain a namespace for abstract types that is global, i.e. meaningful between programs, by hashing module declarations. We examine the scenarios in which values of abstract types are communicated from one program to another, and ensure, by constructing hashes appropriately, that the dynamic and static notions of type equality mirror each other. We use singleton kinds to express abstraction in the static semantics; abstraction is tracked in the dynamic semantics by coloured brackets. These allow us to prove preservation, erasure, and coincidence results. We argue that our proposal is a good basis for extensions to existing ML-like languages, pragmatically straightforward for language users and for implementors.
Design, Implementation, and Evaluation of Duplicate Transfer Detection in HTTP
- In Proceedings of the First Symposium on Networked Systems Design and Implementation
, 2004
"... Organizations use Web caches to avoid transferring the same data twice over the same path. Numerous studies have shown that forward proxy caches, in practice, incur miss rates of at least 50%. Traditional Web caches rely on the reuse of responses for given URLs. Previous analyses of real-world trace ..."
Abstract
-
Cited by 29 (0 self)
- Add to MetaCart
Organizations use Web caches to avoid transferring the same data twice over the same path. Numerous studies have shown that forward proxy caches, in practice, incur miss rates of at least 50%. Traditional Web caches rely on the reuse of responses for given URLs. Previous analyses of real-world traces have revealed a complex relationship between URLs and reply payloads, and have shown that this complexity frequently causes redundant transfers to caches. For example, redundant transfers may result if a payload is aliased (accessed via different URLs), or if a resource rotates (alternates between different values) , or if HTTP's cache revalidation mechanisms are not fully exploited. We implement and evaluate a technique known in the literature as Duplicate Transfer Detection (DTD), with which a Web cache can use digests to detect and potentially eliminate all redundant payload transfers. We show how HTTP can support DTD with few or no protocol changes, and how a DTD-enabled proxy cache can interoperate with unmodified existing origin servers and browsers, thereby permitting incremental deployment. We present both simulated and experimental results that quantify the benefits of DTD.
Squeezing More Bits Out of HTTP Caches
"... HTTP accounts for most of the bytes flowing over the Internet backbone (up to 75 percent, in one study [1]). This bandwidth demand requires continued investment in link and switch capacity, and leads to congestion, which increases user-perceived latency. At the edges of the Internet, which are often ..."
Abstract
-
Cited by 15 (3 self)
- Add to MetaCart
HTTP accounts for most of the bytes flowing over the Internet backbone (up to 75 percent, in one study [1]). This bandwidth demand requires continued investment in link and switch capacity, and leads to congestion, which increases user-perceived latency. At the edges of the Internet, which are often bandwidth-constrained, every extra byte transferred adds incremental delay; this is a particular problem for home users, most of whom do not yet have a cost-effective means to increase bandwidth above 56 kb/s. And every round-trip through the Internet adds delay, often several hundred milliseconds. Almost any computer system that suffers from latency or bandwidth problems can benefit from caching. The Web is no exception, and caching mechanisms have been part of HTTP almost since its inception. Caching is perhaps the one aspect of the Web most easily amenable to academic studies, and many research papers have been published. Web caching is also sufficiently useful to have led to the creation of a rapidly growing industry. Caching works when a reference stream has locality. Temporal locality exists when an item is referenced more than once — a cache can store the item on the first reference, and then return it for subsequent references. Traditionally, Web caches have exploited temporal locality, with a URL as the granularity of reference. Such a cache stores a response to a request for a URL, and then a subsequent request for the same URL yields a cache hit. Other caches in computer systems, such as CPU data caches, often reach hit rates approaching 100 percent, but numerous studies of actual Web reference streams report much lower hit rates, often 50 percent or less. Indeed, recent studies have shown intrinsic limits to the hit rates achievable with URL-granularity temporal locality: no matter how large the cache or user population, many references will never be cache hits. This article surveys some of the techniques proposed to
SHA: A Design for Parallel Architectures?
- Advances in Cryptology, Proceedings Eurocrypt’97, LNCS 1233
, 1997
"... To enhance system performance computer architectures tend to incorporate an increasing number of parallel execution units. This paper shows that the new generation of MD4-based customized hash functions (RIPEMD-128, RIPEMD-160, SHA-1) contains much more software parallelism than any of these com ..."
Abstract
-
Cited by 10 (3 self)
- Add to MetaCart
To enhance system performance computer architectures tend to incorporate an increasing number of parallel execution units. This paper shows that the new generation of MD4-based customized hash functions (RIPEMD-128, RIPEMD-160, SHA-1) contains much more software parallelism than any of these computer architectures is currently able to provide. It is conjectured that the parallelism found in SHA-1 is a design principle. The critical path of SHA-1 is twice as short as that of its closest contender RIPEMD-160, but realizing it would require a 7-way multiple-issue architecture. It will also be shown that, due to the organization of RIPEMD-160 in two independent lines, it will probably be easier for future architectures to exploit its software parallelism.
Preliminary Analysis of the BSAFE 3.x Pseudorandom Number Generators
"... An enormous number of commercial applications (over 350 million copies) rely on the BSAFE and JSAFE toolkits from RSA Data Security to generate cryptographically strong pseudorandom numbers for keys, initialization vectors, challenges, etc. This paper describes the algorithms used by these tool ..."
Abstract
- Add to MetaCart
An enormous number of commercial applications (over 350 million copies) rely on the BSAFE and JSAFE toolkits from RSA Data Security to generate cryptographically strong pseudorandom numbers for keys, initialization vectors, challenges, etc. This paper describes the algorithms used by these toolkits, discusses their design, analyzes their resistance to various attacks, and presents results from statistical tests. The algorithms appear to be well suited for cryptographic applications. Introduction & Background The amazing feature of cryptography is that it reduces the problem of protecting a large amount of data to the problem of protecting a small amount of keying material. However, generating even a small amount of keying material is hard. The trouble is that gathering good randomness (bits that cannot be predicted or influenced by an attacker) can take several thousand milliseconds, which is unacceptable for most applications. The usual solution is to rely on a goo...
Minimising the Risk of Electronic Document Forgery
"... Paperless business transactions depend on digital signatures, which are based on public-key cryptography and one-way hash functions. However, one-way hash functions have properties, which can be exploited to subvert security service. The purpose of this paper is minimisation of such risks, where att ..."
Abstract
- Add to MetaCart
Paperless business transactions depend on digital signatures, which are based on public-key cryptography and one-way hash functions. However, one-way hash functions have properties, which can be exploited to subvert security service. The purpose of this paper is minimisation of such risks, where attention is given to proper structuring (and consequently coding) of electronic documents and the context of their usage.
Chapter 5 Modification Check Values � Cryptographic hash functions
"... It is common practice in data communications to compute some kind of error detection code over messages, that enables the receiver to check if a message was accidentally altered during transmission � Examples: Parity, Bit-Interleaved Parity, Cyclic Redundancy Check (CRC) This leads to the wish of ha ..."
Abstract
- Add to MetaCart
It is common practice in data communications to compute some kind of error detection code over messages, that enables the receiver to check if a message was accidentally altered during transmission � Examples: Parity, Bit-Interleaved Parity, Cyclic Redundancy Check (CRC) This leads to the wish of having a similar value that allows to check, if a message has been intentionally modified during transmission � If somebody wants to intentionally modify a message which is protected with a CRC value he can re-compute the CRC value after modification or modify the message in a way that it leads to the same CRC value � Therefore, a modification check value will have to fulfill additional properties that will make it impossible for attackers to forge it Two main categories of modification check values:

